Regular Expressions Problem

kreilinger

Ensign
Dabei seit
Aug. 2004
Beiträge
201
hallo,

ich will bei einem formular via javascript überprüfen, ob der benutzername der form "xxxx.xxxx" entspricht.

Code:
function checkUsername() {
var username = document.getElementById('username').value;
if(!username.match('*\.*')) return false;
return true;
}
Code:
<form action="blabla.php" method="post" onsubmit="return checkUsername()">
<input type="text" id="benutzername" />
<input type="submit" value="Login" />
</form>
das ganze wird dann im form tag mit onsubmit="return checkUsername()" benutzt.

eigentlich müsst *\.* stimmen für "irgendwas.irgendwas", oder?
die funktion liefert jedoch immer true!


lg
markus
 
Zuletzt bearbeitet:

arterius

Commander
Dabei seit
Jan. 2004
Beiträge
2.931
Kann so auch nicht funktionieren, da ein * alles erfassen kann.

Probier mal lieber sowas [[:alpha:]].[[:alpha:]], oder pass es deinen Bedürfnissen genauer an.
 

kreilinger

Ensign
Ersteller dieses Themas
Dabei seit
Aug. 2004
Beiträge
201
Bei [[:alpha:]].[[:alpha:]] bekomme ich bei der eingabe von "franz.meier" bekomme ich jetzt aber false zurück!
 
Zuletzt bearbeitet:

arterius

Commander
Dabei seit
Jan. 2004
Beiträge
2.931
Das ist ja der Bereich den [[:alpha:]] abdeckt, alle Groß-/Kleinbuchstaben.

Worauf willst soll denn genau prüfen?
 
Zuletzt bearbeitet:

kreilinger

Ensign
Ersteller dieses Themas
Dabei seit
Aug. 2004
Beiträge
201
ich will prüfen, ob der benutzer irgendetwas, dann einen punkt und dann wieder irgendetwas eingegeben hat
 

arterius

Commander
Dabei seit
Jan. 2004
Beiträge
2.931
Wie wäre es damit:

string.match(Alphanumeric\.Alphanumeric)

oder

string.match([A-Za-z]\.[A-Za-z])

Ich habe gerade nochmal geschaut warum * funktioniert.
Der Ausdruck darf kein oder mehrmals vorkommen.

Wie gesagt einfach ein wenig mit den regular experessions rumspielen, sonst lernt man nichts dabei.
 
Top