Kwixesha elidlulileyo ndibeke Amandla okuKhangela okuKhangela usebenzisa iJavaScript kunye neeNkcazo eziQhelekileyo. Kwakwelo nqaku linye, unokujonga ukwakheka kwedilesi ye-imeyile usebenzisa indlela efanayo yokubonisa (regex).
Ukuba into yakho yefom inayo id = "idilesi ye-imeyile" kwaye wongeza ifom onSubmit = ”buyela itshekhi ye-imeyile ();", Lo ngumsebenzi weJavascript onokuwusebenzisa ukubuyisela isilumkiso ukuba idilesi ye-imeyile inesakhiwo esifanelekileyo okanye hayi:
function checkEmail() { var email = document.getElementById('emailaddress'); var filter = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (!filter.test(email.value)) { alert('Please provide a valid email address'); email.focus; return false; } }
Umsebenzi uqinisekisa imixholo ye-imeyile kuleyo yecebo lokucoca ulwelo. Ukuba uthelekiso aluphumeleli, lukhupha isilumkiso kwaye lubuyisele ukugxila kumhlaba wedilesi ye-imeyile!
Kwiifomu ezineedilesi ze-imeyile ezininzi, kuya kuba kuhle ukwenza iklasi="idilesi ye-imeyile". Ukuba unethala leencwadi leprototype.js (http://www.prototypejs.org) ibandakanyiwe kwiphepha ungenza into enje:
var valid = yinyani;
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
$$('.emailaddress').nganye( umsebenzi(imeyile) {
ukuba (!hluza.test(imeyile.value)) {
isilumkiso(?Nceda unikeze idilesi ye-imeyile esebenzayo?);
imeyile.ujoliso;
esebenzayo = bubuxoki;
}
});
imbuyekezo iyasebenza;
Enkosi Ade! Kuza kufuneka ndifunde ngakumbi malunga neeklasi kunye neJavaScript!
Umzekelo wokuqala kaDoug wawupholile, kodwa lo uyabanda! Bendingazi ukuba ungaqhuba izinto ezineklasi ngolu hlobo, kwaye i-syntax esebenzayo imnandi.
UAde kunye neqela lakhe bayamangalisa!
Kuhle, ndingahlala ndithembele kuwe ngemibhalo epholileyo engendawo! 🙂
Enkosi Tony!
Ndiyawuthanda lo mbono, kodwa ndingathandabuza ukwamkela le ntetho yarhoqo ngaphandle kwenkcazelo yokuba zeziphi iidilesi ze-imeyile ezisemthethweni ezingazamkeliyo kwaye zeziphi iidilesi ezingekho mthethweni ezizivumelayo.
Umzekelo wentetho eqhelekileyo eyenza umsebenzi ondilisekileyo ecaleni kwengcaciso engaguqukiyo, bona oku:
http://www.regular-expressions.info/email.html
Ukhetho lwam lobuqu kukugubungela uninzi lwamatyala alula kwaye ndikhuphe isilumkiso sayo yonke enye into kunokuba ndiyale. Ukuba uBob ufuna ngokwenene ukuhambisa bob@com.museum ngaphandle kwe bob@museum.com, kutheni ungamvumeli?
Molo Reg,
Unokuvavanya iRegex usebenzisa i Umvavanyi weRegex kwi-Intanethi.
Kwakhona, ngokuqinisekileyo kuninzi okunokwenziwa ukuba ufuna ukuqinisekisa i idilesi yemeyile isebenza ngokungqinelana ne-RFC.
Kukho izizathu ezimbalwa zokungavumeli umntu ukuba angenise idilesi ye-imeyile engasebenziyo:
1. Baza kucaphuka kuwe xa i-imeyile abebeyilindele ingangeni – nokuba ibilityala lakho okanye ibiyimpazamo yakho idilesi ifakwe ngokungachanekanga.
2. Ukuba i-com.museum ibiyindawo esebenzayo kwaye, masithi, Yahoo! isebenzile - nayiphi na idilesi ye-imeyile ethe yagqabhuka inokuba nefuthe elibi kudumo lwenkampani yakho lokuhanjiswa kwe-imeyile. Oku kunokukhokelela ekubeni yonke i-imeyile yenkampani yakho ivalwe.
3. Ukuba umboneleli wakho wesevisi ye-imeyile ukuvumela ukuba ungene bob@com.museum, uya kuhlawula kwakhona i-imeyile nganye ethunyelwe kuloo dilesi ye-imeyile de bayikhuphile loo dilesi ngenxa yokubhampa. Ndingasuka kuyo nayiphi na i-ESP enokuvumela idilesi ye-imeyile engasebenziyo ngolo hlobo - bathatha nje imali yakho!
Enkosi ngokuma!
Doug
Igqibelele, kanye le nto bendiyidinga!
Kukho indlela elula kakhulu yokubhala intetho:
var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
– Ngesilungisi sokugqibela /i akukho mfuneko yokubonisa uluhlu lweemeko eziphezulu.
Andazi nanye TLD enamanani kuyo.
Kwinqaku elisecaleni, ndivumela i-TLD ukuya kuthi ga kwi-6 chars; abatsha bafika rhoqo kwaye awusoze wazi (kakuhle, ezinye zexesha elizayo zinokuba namanani kuyo, ndiyazi).
Molo apho,
Ndizama ukusebenzisa oku kwifomu esele ikhona ngexesha lokwenyani, kodwa oku akubonakali ngathi kungqinisiswa ngexesha lokwenyani njengomkhangeli wamandla wephasiwedi...
Okanye, ngaba andinalwazi, kwaye ayisebenzi kum?
btw, ndiyithanda kakhulu into oqhubeka apha, izifundo zakho zilula kakhulu, ngokuqinisekileyo ndiza kuphawula le….
I-FYI nje; Andizange ndizame isisombululo sika-Ade kodwa ipateni engentla ayiqinisekisi iidilesi ze-imeyile ezine-apostrophes kuzo .. (umzekelo, uMike.O'Hare@Whatever.com). Apostrophes ziyasebenza ngokwe RFC 2821/2822 –> http://www.faqs.org/rfcs/rfc2822.html
HTH,
Sanjay
Kananjalo ayibonakali inokuphatha uphawu lokudibanisa, olusebenzayo.
bona: http://www.dominicsayers.com/isemail/
Kwinqaku elikhulu, le yingxaki ephambili yokusika kunye nokuncamathisela ikhowudi, leyo ifanelwe yingxoxo epheleleyo ngokwayo.
@robbyslaughter.com
wena nutz..
isebenza kakuhle..!@
Kuya kuba kuhle ukuba sinokufumana isisombululo sokuphepha iidilesi ze-imeyile ezingeyonyani kumagqabaza kwiWordPress
Ulungiso nje oluncinci: Intetho eqhelekileyo inokongeza ()+ ekugqibeleni. Kufuneka ifundeke:
^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+[a-zA-Z0-9]{2,4}$
Ngeyokuqala naziphi na ubude be-TLDs ziyakwamkelwa (ezingaphosakalanga ngokusuka entliziyweni njengoko abanye beye bachaza, kodwa ukuba yayiyinjongo le ntetho inokufinyezwa).
Ngaba unganceda uchaze inkcazo eqhelekileyo yale khowudi kunye nendlela esebenza ngayo? Kwakhona malunga .test – Ngaba .test ingxelo engagqibekanga kwijavascript ukujonga izinto ozenzileyo kwikhowudi engentla?
Le yikhowudi emfutshane yokubonakalisa i-imeyile-
umsebenzi qinisekisa iEmail(id)
{
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
buyisela i-imeyilePattern.test(id);
}
Deepak Rai
varanasi
Le yikhowudi emfutshane yokubonakalisa i-imeyile-
umsebenzi qinisekisa iEmail(id)
{
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
buyisela i-imeyilePattern.test(id);
}
Deepak Rai
varanasi
Enkosi kakhulu malume. Oko kwandinceda kakhulu 🙂
Amanda
enkosi ngekhowudi !
Enkosi, kodwa kukho impazamo kule regex. Andiyongcali ye-regex, kodwa ndizamile i-imeyile:
test@test
kwaye yadlula i-regex… Ndaqaphela ukuba iyasilela ukubaleka "." ngoko kufuneka:
/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/
Ndihamba kunye
/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$ /
kwaye kuthekani nge.info's ?
oh shit… kwiminyaka eyi-3 eyadlulayo? :S
Ewe, oku kujongwa nje ngokurhabaxa kodwa hayi 100% ichanekile, umzekelo oku kuyakulunga john_doe.@gmail.com eneneni engeyiyo idilesi ye-imeyile esebenzayo (ichaphaza alivumelekanga njengonobumba wokugqibela kwindawo yendawo ye-imeyile).
Kwakhona yayiya kwamkela john...doe@gmail.com engasebenziyo kwakhona kuba ingenakuba ngaphezulu kwechaphaza elinye kulandelelwano.
Ezi zezinye nje iziphene endiziqapheleyo ekuqaleni.
Injongo yam ayikuko ukuhlamba nje oku xa kukho umntu oceba ukusebenzisa oku njengetshekhi yokhuseleko - engakhuselekanga ngokwaneleyo.
Ngolwazi malunga needilesi ze-imeyile ezisebenzayo jonga oku: http://en.wikipedia.org/wiki/E-mail_address
Deepak,
Ngokwenyani, ndicinga ukuba kufuneka ufake isicelo sokubalekela ichaphaza (“.”). Ke, umsebenzi wakho kufuneka ube, endaweni yoko:
umsebenzi qinisekisa iEmail(id)
{
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
buyisela i-imeyilePattern.test(id);
}
Ngaphandle koko, ichaphaza liza kuthetha "nawuphi na umlinganiswa". Ndiyakholelwa ukuba abalinganiswa abakhethekileyo kufuneka babaleke.
mbuliso,
Federico
umsebenzi qinisekisa iEmail(fld) {
var error="";
var tfld = trim(fld.value); // ixabiso lebala elinendawo emhlophe esikiweyo
var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
var illegalChars= /[(),;:\”[]]/ ;
ukuba (fld.value == "Faka idilesi ye-imeyile yakho") {
impazamo = "Nceda ufake idilesi ye-imeyile yakho.n";
} okunye ukuba (!emailFilter.test(tfld)) {//test email yamagama angekho mthethweni
impazamo = "Nceda ufake idilesi ye-imeyile esebenzayo.n";
} okunye ukuba (fld.value.match(illegalChars)) {
impazamo = "Nceda ufake idilesi ye-imeyile esebenzayo.n";
}
imposiso yokubuyisela;
}
umsebenzi qinisekisa iEmail(fld) {
var error="";
var tfld = trim(fld.value); // ixabiso lebala elinendawo emhlophe esikiweyo
var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
var illegalChars= /[(),;:\”[]]/ ;
ukuba (fld.value == "Faka idilesi ye-imeyile yakho") {
impazamo = "Nceda ufake idilesi ye-imeyile yakho.n";
} okunye ukuba (!emailFilter.test(tfld)) {//test email yamagama angekho mthethweni
impazamo = "Nceda ufake idilesi ye-imeyile esebenzayo.n";
} okunye ukuba (fld.value.match(illegalChars)) {
impazamo = "Nceda ufake idilesi ye-imeyile esebenzayo.n";
}
imposiso yokubuyisela;
}
umsebenzi qinisekisa iEmail(fld) {
var error="";
var tfld = trim(fld.value); // ixabiso lebala elinendawo emhlophe esikiweyo
var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
var illegalChars= /[(),;:\”[]]/ ;
ukuba (fld.value == "Faka idilesi ye-imeyile yakho") {
impazamo = "Nceda ufake idilesi ye-imeyile yakho.n";
} okunye ukuba (!emailFilter.test(tfld)) {//test email yamagama angekho mthethweni
impazamo = "Nceda ufake idilesi ye-imeyile esebenzayo.n";
} okunye ukuba (fld.value.match(illegalChars)) {
impazamo = "Nceda ufake idilesi ye-imeyile esebenzayo.n";
}
imposiso yokubuyisela;
}
umsebenzi qinisekisa iEmail(fld) {
var error="";
var tfld = trim(fld.value); // ixabiso lebala elinendawo emhlophe esikiweyo
var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
var illegalChars= /[(),;:\”[]]/ ;
ukuba (fld.value == "Faka idilesi ye-imeyile yakho") {
impazamo = "Nceda ufake idilesi ye-imeyile yakho.n";
} okunye ukuba (!emailFilter.test(tfld)) {//test email yamagama angekho mthethweni
impazamo = "Nceda ufake idilesi ye-imeyile esebenzayo.n";
} okunye ukuba (fld.value.match(illegalChars)) {
impazamo = "Nceda ufake idilesi ye-imeyile esebenzayo.n";
}
imposiso yokubuyisela;
}
umsebenzi trim(s)
{
buyisela s.replace(/^s+|s+$/, ”);
}
umsebenzi trim(s)
{
buyisela s.replace(/^s+|s+$/, ”);
}
'.ujoliso' ngumsebenzi, kufuneka ube:
email.focus()
'.ujoliso' ngumsebenzi, kufuneka ube:
email.focus()
kuhle
Isebenza njenge gem.. Ukusetyenziswa kakuhle kwe-reg expressions kwi-javascript...
Iyaqhekeka kwigugu...
Idilesi "mmm@mmm..com" iya kwamkelwa. Kodwa amachaphaza amabini xa edibene akanyanisekanga.
Fellas, sebenzisa. Ayifuni naluphi na uqinisekiso lwe-JS.
Kodwa isebenza kuphela ngeebrowser zanamhlanje. Ngelishwa, ihlabathi alikafiki. -
Ithunyelwe kwibhokisi yemeyile ye-iPhone