webForumDet fria alternativet

E-brevs regexp

6 svar · 197 visningar · startad av mozilla

mozillaMedlem sedan juli 20011 084 inlägg
#1

Jag försöker få ihop ett script som kollar om emailen man skrivit in över huvud taget kan existera. Som det ser ut nu har jag följande pattern:

/\w+@\w+\W\D/;

Den tillåter mer tecken efter de sista dvs man kan skriva x@x.x123. Hur gör man så att den måste sluta med \D?

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Prova med:

/^[\w.-]+\@([\w.-]\.)+\w+$/

mozillaMedlem sedan juli 20011 084 inlägg
#3

Ne blev inte mycket bättre där... Faktiskt exakt samma sak ;) koden jag skrev ovan fungerar till skillnad från att man kan skriva siffror som toppdomän. De vill jag för hindra (med hjälp av \D). Kan lägga till att x@x.1 inte fungerar, medan x@x.x1 fungerar.

Det går om man gör om texten, tex. str + 'slut' och sedan med pattern /\w+@\w+\W\Dslut/; Men jag undrar hur man gör för att den ska ta att all tecken i slutet måste vara \D dvs icke siffror.

spangoMedlem sedan juni 20008 205 inlägg
#4
/^[\-\w\.]+@([a-z\d\-]\.)*[a-z\d\-]\.[a-z]{2,}$/i
mozillaMedlem sedan juli 20011 084 inlägg
#5

thx :birp

JojoxxMedlem sedan juni 20004 308 inlägg
#6

Ursäkta, slarvläste din fråga.

spangoMedlem sedan juni 20008 205 inlägg
#7

Och jag slarvskrev min kod :) Så här ska det förstås vara:

/^[\-\w\.]+@([a-z\d\-][b]+[/b]\.)*[a-z\d\-][b]+[/b]\.[a-z]{2,}$/i
128 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)