Autor | Zpráva | ||
---|---|---|---|
GgRrCc Profil |
#1 · Zasláno: 18. 3. 2007, 10:54:16
Oerenie adresy regularnym vyrazom
|
||
GgRrCc Profil |
#2 · Zasláno: 18. 3. 2007, 10:56:27 · Upravil/a: GgRrCc
Som tu našiel veľmi užitočný skriptík na kontrolu emailu: [url=http://www.jakpsatweb.cz/javascript/priklady/email-regular.html
]http://www.jakpsatweb.cz/javascript/priklady/email-regular.html [/url] Má však jednu chybu, napočudovanie napr. prejde pokus@pokus ako správna adresa. Preto odporúčam regulárny výraz ošetriť takto: "^[_a-zA-Z0-9\.-]+[@]+[_a-zA-Z0-9\.-]+[\.]+[a-zA-Z]{2,4}$" |
||
peta Profil |
#3 · Zasláno: 18. 3. 2007, 16:06:54
"^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$" - orig
"^[_a-zA-Z0-9\.-]+[@]+[_a-zA-Z0-9.-]+[\.]+[a-zA-Z]{2,4}$" - tvuj [\.]+ = . opakovana 1-n , cili projde pokus@pokus...............cz muj (ale ma urcite problemy s adresou localhost, ze se zacykli) // http://en.wikipedia.org/wiki/Domain_name // http://www.ietf.org/rfc/rfc3986.txt var ip0 = "(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"; //255-250 249-200 199-100 99-10 9-0 var ip = "(?:(?:"+ ip0 +"\.){3}"+ ip0 +")"; a = "[A-Za-z0-9](?:(?:"; b = "?[a-zA-Z0-9]+)*)"; var hostsep = "[_\.-]"; var linksep = "[#%&-;\.\/\=\?_~]"; var mailsep = "[\!#\$%&'\*\+-\/\=\?\^_\`\{\|\}~]"; var xProtocol = "(?:(?:file|ftp|ftps|gopher|http|https|news|nntp|sftp|telnet)\:\/\/|"+ ip +")"; var xDomain = "(?:(?:"+ a + hostsep + b + "\.[a-zA-Z]{2,9})|localhost|"+ ip +")"; // havaruje na http://localhost1/... var xPort = "(?:\:[0-9]{2,4})?"; var xFilter = new Array (); /*smile*/ xFilter[0]="\*([1-2]?[0-9])\*"; xSml = (xSett.charAt(3))*1; /*link*/ if ((xSett.charAt(4))*1==0) {xFilter[2]="(("+ xProtocol + xDomain +")"+ xPort +"(?:\/" + a + linksep + b +"[\/]?)?)";} // http://msdn.microsoft.com:80/scripting/default.htm /*mail*/ if ((xSett.charAt(5))*1==0) {xFilter[3]= a + mailsep + b + "@"+ xDomain + xPort;} // RFC2821/RFC2822 e-mailAddress[64]@domainName[255] // me@24.111.232.1 joe_smith@here.com you.me.hello@somewhere.else.cc u-s_e.r1@s-ub2.domain-name.museum:8080 PN=Joe/OU=X400/@gateway.com //source = source.replace(/@/g,"@"); //innerHTML bug Opera @" source = source.replace(/"/g,"""); //innerHTML bug Opera @" //source = source.replace(/&/g,"&"); for (i in xFilter) ... |
||
GgRrCc Profil |
#4 · Zasláno: 18. 3. 2007, 17:04:55
"^[_a-zA-Z0-9.-]+@[_a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$" - orig
"^[_a-zA-Z0-9.-]+[@]+[_a-zA-Z0-9.-]+[.]+[a-zA-Z]{2,4}$" - tvuj [.]+ = . opakovana 1-n , cili projde pokus@pokus...............cz takto by to malo byt lepsie: "^[_a-zA-Z0-9\.\-]+[@]{1}[_a-zA-Z0-9\.\-]+[\.]{1}[a-zA-Z]{2,4}$" |
||
Leo Profil |
#5 · Zasláno: 18. 3. 2007, 17:14:08
Ona je otazka, jestli cela ta habadura stoji za namahu - staci, aby vam tam uzivatel napsal pepa@seznam.cz, projde to a existenci schranky si stejne nemate jak overit... Leo
|
||
GgRrCc Profil |
#6 · Zasláno: 18. 3. 2007, 17:16:02
v podstate je to pre dobro ako take... mne sa napriklad uz vela krat stalo ze som sa pomylyl v adrese..takto je to overene..takze to cenu ma..
|
||
peta Profil |
#7 · Zasláno: 18. 3. 2007, 19:45:32
"^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$" - orig
"^[_a-zA-Z0-9\.\-]+[@]+[_a-zA-Z0-9\.\-]+[\.]+[a-zA-Z]{2,4}$" - tvuj1 "^[_a-zA-Z0-9\.\-]+[@]{1}[_a-zA-Z0-9\.\-]+[\.]{1}[a-zA-Z]{2,4}$" - tvuj2 vis co, ja to chtel jen ukazat, kde je konkretni zmena v porovnani s originalem. Nic vic. Tva druha zmena je naprosto stejna jako original, jen jinak zapsana. Jo, pozor na zpetna lomitka, viz: http://www.visibone.com/regular-expressions/ nekde musi byt a nekde nemusi. Treba jsi na nejake zapomnel, protoze: \. = "." . = jakykoliv znak |
||
peta Profil |
#8 · Zasláno: 18. 3. 2007, 19:48:03
tohle pridam pod to, protoze jsem linej zas pridavat lomitka...
Jinak souhlasim s tou kontrolou, tez se mi to parkrat stalo, ale asi v tvem pripade by to melo byt spise upozorneni a zeptat se, jestli je mailova adresa skutecne spravna. Ikdyz pro ceske maily by to melo fungovat a je dobrym zvykem pouzivat prave takovy typ a ne ty divotvorne. |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0