webForumDet fria alternativet

E-brevs regexp

JavaScript

6 svar · 197 visningar · startad av mozilla

Medlem sedan juli 20011 084 inlägg
Frågan#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?

Medlem sedan juni 20004 308 inlägg
#2

Prova med:

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

Medlem 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.

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

thx :birp

Medlem sedan juni 20004 308 inlägg
#6

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

Medlem 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
258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)