Проверка корректности ввода e-mail адреса
Функция возвращает true при правельном вводе e-mail, иначе возвращает false
<?php
<!-- проверка e-mail фдреса -->
function emailCheck(emailStr) {
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="()><@,;:\".[]";
var validChars="[^s" + specialChars + "]";
var quotedUser="("[^"]*")";
var ipDomainPat=/^[(d{1, 3}).(d{1, 3}).(d{1, 3}).(d{1, 3})]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for (I=0; I<user.length; I++) {
if (user.charCodeAt(I)>127) {
return false;
}
}
for (I=0; I<domain.length; I++) {
if (domain.charCodeAt(I)>127) {
return false;
}
}
if (user.match(userPat)==null) {
return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
for (var I=1;I<=4;I++) {
if (IPArray[I]>255) {
return false;
}
}
return true;
}
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (I=0;I<len;I++) {
if (domArr[I].search(atomPat)==-1) {
return false;
}
}
if (checkTLD && domArr[domArr.length-1].length!=2 &&
domArr[domArr.length-1].search(knownDomsPat)==-1) {
return false;
}
if (len<2) {
return false;
}
return true;
}
?>
Дата добавления: 2009-11-24 09:56:08, просмотров: 10075
Пожалуйста, авторизируйтесь, для возможности добавить комментарий..