Jump to content
php.lv forumi

Recommended Posts

Posted (edited)

Nu cilveecinjsh regjistreejas un samaitaa visu. Manaa DB tikko viena meitene regjistreejaas ar shitaau meilu: xxx@.tvnet.lv. Blja, man dusmas pilniigi, kljuudas peec punktinju nospiedusi.

 

Pagaidam man ir shitaa:

function IsValidMail($ssstr)
{
   //atgriezh 1 ja mails valiids, 0 ja nee
   if(ereg("^.+@.+\\..+$", $ssstr))
       return 1;
   else
       return 0;
}

 

Re kaa... Mosh kaadam ir labaaks skriptinjsh zinaams?

 

aaa, runa iet arii par taadu kaa teiksim www.xxx@tvnet.lv

Edited by Toms
Posted

tu veel vari paarbaudiit vai mx (mail exchange) domains eksitee (getmxrr), bet useri gan iisti nevar paarabudiit, var vairaak skatiities peec standartiem kaaadi charakteri var ietilpt loginaa un kaadi nee.

Posted (edited)

e-pasta adreses formāts ir diezgan sarežģīts. Bet vairumam gadījumu domāju vajadzētu derēt sekojošai fjai:

function IsValidMail($ssstr)
{
  //atgriezh 1 ja mails valiids, 0 ja nee
  return preg_match('~^[-\w\d._]+@([-\w\d]+\.)+\w+$~i', $ssstr);
}

Edited by bubu
Posted

bubu, ar tavejo preg_matchu ir viena problema... Vinsh nestrada, saka ka nav pareizs emails, pat ja ir ievadits pareizs un + vel met error notici ara ka nepatik: Unknown modifier '$'

 

Tavs iepriekshejais variants stradaja, pirms editeshanas, iznemot to, ka ja iavadija blabla@blabla.lv. - vinsh ari shadu pienema.

 

Es pats šādi parbaudu emailu:

$email = $_POST['email']; 
if(!empty($email)) { 
$pemail = preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/is', $email);
if($pemail == '0'){ msg('Ievadīts nepareizs emails!'); }
}

Posted

Lynx: man tur drukas kļūda bija: ~ ar $ biju otrādi uzlicis, tagad salaboju.

A par tavu kodu: Kāda jēga lietot a-z, ja ir \w vai 0-9, ja ir \d. Un šī daļa "[a-z0-9\-]+\.([a-z0-9\-]+\.)*?" tavā regexpā var tikt aizstāta ar vienkārši "([a-z0-9\-]+\.)+", pie tam, kāda jēga no *?, ja jau * nozīmē 0..n, tad pieliekot ? nemainās pilnīgi nekas!

×
×
  • Create New...