有一个电子邮件字段,如果我们使用chrome / IE / Firefox浏览器访问该网站,该字段将按预期工作,但是,如果我使用iPhone Safari浏览器访问该网站,则该电子邮件字段会反转我输入的文本。 此处的图片示例-
“电子邮件”字段的代码为
<input id="emal" required type="text" maxlength="40" onclick="this.focus();" onfocus="if(this.value==this.dflt){this.value=''};this.onchange();" onblur="if(this.value.length<1){this.value=this.dflt};" onchange="this.ffoc=true;validate_email();" onpaste="this.onchange();" oninput="this.onchange();" onkeypress="this.onchange();">
代码的验证部分-
function validate_email(){if(document.loaded){
$form[0].$emal.value="";$form[0].$emal.valid=null;
updateField($form[1].$emal,$form[1].$emal.value.replace(/\s/ig,""));
if( isValidEmail($form[1].$emal.value) && $form[1].$emal.value!=$form[1].$emal.dflt ){
$form[0].$emal.value=$form[1].$emal.value;
$form[0].$emal.valid=true;
$form[1].$emal.setAttribute("valid","true");
}else{
$form[1].$emal.setAttribute("valid",($form[1].$emal.clik)?($form[1].$emal.required)?"false":"warn":"");
$form[0].$emal.valid=($form[1].$emal.clik&&!$form[1].$emal.required)?true:null;
}
$form[1].$emal.$wbox.style.display=((/false|warn/i).test($form[1].$emal.getAttribute("valid")))?"block":"none";refresh();
}}
function isValidEmail(str){var val=false;if(str!=null){var ddStr ="aero%asia%biz%cat%com%coop%edu%gov%info%int%jobs%mil%mobi%museum%name%net%org%pro%tel%travel%ac%ad%ae%af%ag%cf%cg%ai%al%am%an%ao%aq%ar%as%at%au%aw%ax%az%ba%bb%bd%be%bf%bg%bh%bi%bj%bm%bn%bo%br%bs%bt%bv%bw%by%bz%ca%cc%cd%ch%ci%ck%cl%cm%cn%co%cr%cs%cu%cv%cx%cy%cz%dd%de%dj%dk%dm%do%dz%ec%ee%eg%eh%er%es%et%eu%fi%fj%fk%fm%fo%fr%ga%gb%gd%ge%gf%gg%gh%gi%gl%gm%gn%gp%gq%gr%gs%gt%gu%gw%gy%hk%hm%hn%hr%ht%hu%id%ie%il%im%in%io%iq%ir%is%it%je%jm%jo%jp%ke%kg%kh%ki%km%kn%kp%kr%kw%ky%kz%la%lb%lc%li%lk%lr%ls%lt%lu%lv%ly%ma%mc%md%me%mg%mh%mk%ml%mm%mn%mo%mp%mq%mr%ms%mt%mu%mv%mw%mx%my%mz%na%nc%ne%nf%ng%ni%nl%no%np%nr%nu%nz%om%pa%pe%pf%pg%ph%pk%pl%pm%pn%pr%ps%pt%pw%py%qa%re%ro%rs%ru%tw%tz%ua%ug%uk%us%uy%uz%va%vc%ve%vg%vi%vn%vu%wf%ws%ye%yt%yu%za%zm%zw",ckStr=(ddStr).split("%");if(str.length>5&&(/^\w+([\.\-\'\+]?\w+)*@\w+([\.\-]?\w+)*(\.\w+)+$/i).test(str)){for(var i=0;i<ckStr.length;i++){if(str.substring(str.lastIndexOf(".")+1)==ckStr[i]){val=true;break;}}}}return val}
我非常感谢帮助我对此进行排序或提供任何参考。