webForumDet fria alternativet

Regexp för obligatorisk epost

Webbutveckling

7 svar · 423 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Nån som kan hjälpa mig att få till denna så att inte "" tillåts (tomt fält alltså)?

^[åäö_a-z0-9-]+(\.[åäö_a-z0-9-]+)*@[åäöa-z0-9-]+(\.[åäöa-z0-9-]+)*(\.[a-z]{2,4})$
Medlem sedan juni 20019 519 inlägg
#2
^[åäö_a-z0-9-]+(\.[åäö_a-z0-9-]+)*@[åäöa-z0-9-]+(\.[åäöa-z0-9-]+)*(\.[a-z]{2,4})[b]{1}[/b]$

Fast är osäker på att det hjälper.. bästa vore att göra typ(beroende på vilket språk du skriver det i) att köra en Len() eller .length() för att kontrollera längden...

Medlem sedan dec. 20025 483 inlägg
#3

doggelito:
Ditt mönster tillåter inte att en tom sträng matas in.

Medlem sedan juni 20019 519 inlägg
#4

Peter S skrev:

doggelito:
Ditt mönster tillåter inte att en tom sträng matas in.

också rätt ^^

Medlem sedan juni 20003 076 inlägg
#5

Aha, men nått tok blir det.
Jag använder koden i en asp.net 2.0 CreateUserWizard för att kolla så att en epostadress angivits.
Det som händer är att sidan postas runt även fast fältet är tomt.
(övriga fält larmas som de ska via javascript)
På serversidan får jag dock respons på att epostadressen är felaktig men borde inte javascriptet också känna av det?

Och det är bara när fältet är tomt som valideringen inte funkar, anger jag en felaktig adress så larmar javascriptet.

voigtann1 skrev:

Fast är osäker på att det hjälper..

Nope, ingen skillnad.

Medlem sedan juni 20003 076 inlägg
#6

Hmm, hittade på felet.
Regular expression validatorn bygger ihop funktionen nedan.
Hur tusan kan de bygga in så att length==0 returnerar true så där rakt av???

asp.net kompilerad fil skrev:

function RegularExpressionValidatorEvaluateIsValid(val) {
var value = ValidatorGetValue(val.controltovalidate);
if (ValidatorTrim(value).length == 0)
return true;
var rx = new RegExp(val.validationexpression);
var matches = rx.exec(value);
return (matches != null && value == matches[0]);
}

Medlem sedan sep. 20011 914 inlägg
#7

RegularExpressionValidator skall validera indata, en tom sträng är ju inget att validera.
Använd RequiredFieldValidator och RegularExpressionValidator.

Medlem sedan juni 20003 076 inlägg
#8

Mm, det är klart att man kan/lär köra dubbla valideringar, men jag tycker dock att min regexp borde få bestämma utfallet av valideringen! (n)

Och en tom sträng är väl också en sträng!?! :OO

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)