You are not logged in.

  • Login

1

Saturday, December 10th 2011, 10:58am

Prüfen, ob String Sonderzeichen enthält [JS]

Moinmoin,
ich hab mich mal an die regulären Ausdrücke getraut, um einen Login-Bereich zu überprüfen. Es soll überprüft werden, ob sich im String ein Sonderzeichen befindet. Erlaubt sind alle Buchstaben und Zahlen. Alles andere soll verboten sein. Dazu hab ich folgendes geschrieben:

JavaScript Code

1
2
3
4
5
6
7
8
9
$('#regist_name').live('focusout', function(){
		var regname = $('#regist_name').val();
		var reguexp = /[a-zA-Z0-9]/;
 
		if(reguexp.exec(regname))
		{
			alert('hallo');
		}
	});


Das Problem ist, dass TRUE zurückgegeben wird, wenn ich zum Beispiel 'Jaffa?§"&%Coder' als Name eingebe, weil ja Buchstaben und Zeichen drin enthalten sind. Ich hab mir schon überlegt, ob ich alle Sonderzeichen in den regulären Ausdruck reinmach, aber das dauert eeeewig alle rauszufinden und da reinzuschreiben. Gibt es irgend eine andere Möglichkeit? Danke :D

2

Saturday, December 10th 2011, 11:52am

ich kenn mich zwar in js nicht so gut aus, aber für mich sieht die regexpr variable fragwürdig.
muss da nicht ein Object von Regexpr Klasse erzeigt werden?

3

Saturday, December 10th 2011, 12:21pm

ich kenn mich zwar in js nicht so gut aus, aber für mich sieht die regexpr variable fragwürdig.
muss da nicht ein Object von Regexpr Klasse erzeigt werden?

Kann, muss aber nicht. In jS gibts zwei Möglichkeiten ;)

4

Saturday, December 10th 2011, 12:30pm

dann musst du noch die Länge bestimmen
so, validiest du nur ein zeichen
so ist besser var reguexp = /[a-zA-Z0-9]{5,10}/;


Edit jetzt habe ich glaube ich

JavaScript Code

1
2
3
4
5
6
7
8
9
10
$('#regist_name').live('focusout', function(){
		var regname = $('#regist_name').val();
		var reguexp = /[a-zA-Z0-9]{regname .length}/;
 
		if(reguexp.test(regname))
		{
			alert('hallo');
		}else{
alert('tschuess');
	});


probiere mal

This post has been edited 2 times, last edit by "shureg" (Dec 10th 2011, 12:46pm)


5

Saturday, December 10th 2011, 4:01pm

Falls das auch nicht klappt, probiere mal das hier als Regex:

/^[a-zA-Z0-9]+$/

6

Saturday, December 10th 2011, 4:14pm

Hab jetzt var reguexp = /[^A-z0-9_\-]/; benutzt und es funktioniert :D Danke

Similar threads

Social bookmarks