怎样用正则表达式验证输入的邮箱,答对且详细者,我给高分!
你可以在客户端用JS判断,代码如下:
JS代码:
script. type="text/javascript"
function checkemail()
var temp = document.getElementById("email");
var myreg = /(\S)+[@]{1}(\S)+[.]{1}(\w)+/;
if(temp.value!="")
if(!myreg.test(temp.value))
document.getElementById("mail").innerHTML="请输入有效的email!";
document.getElementById("mail").style.color="red";
temp.value="";
temp.focus();
return false;
else{
document.getElementById("mail").innerHTML="email可以使用";
document.getElementById("mail").style.color="green";
/script
html如下:
这里我只写在body里面的代码:
邮箱地址:input id="email" name="email" nBlur="checkemail()" type="text" /span id="mail"/span
正则表达式如何验证邮箱?
1.PHP邮箱验证正则表达式:\x0d\x0apreg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email);\x0d\x0a如果需要更加完善、严格的验证,修改这个正则表达式即可。\x0d\x0a\x0d\x0a2.PHP邮箱验证正则表达式实例:\x0d\x0a\x0d\x0a\x0d\x0a3.Javascript(js)邮箱验证正则表达式:\x0d\x0amyreg=/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/;\x0d\x0a这个可以验证形如:i@julying.com,i@i.com这种邮箱\x0d\x0a\x0d\x0a4.Javascript(js)邮箱验证正则表达式实例:\x0d\x0a\x0d\x0afunctionisEmail(val){\x0d\x0avarmyreg=/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/;\x0d\x0aif(!myreg.test(val))\x0d\x0areturn'不是邮箱';\x0d\x0areturn'是邮箱';\x0d\x0a};\x0d\x0aalert(isEmail('i@julying.com'));\x0d\x0a
求正则表达式验证邮箱格式
虽然没有统一的邮箱账号格式,但是所有邮箱都符合“名称@域名”的规律。对于名称和域名的字符限制,我们可以根据项目的情况定义一个,比如只允许有英文、数字、下划线等组成。下面举例实现一些验证邮箱格式的正则表达式。
实例1:只允许英文字母、数字、下划线、英文句号、以及中划线组成
举例:sunxiuzhen@dctc.org.cn
分析邮件名称部分:
26个大小写英文字母表示为a-zA-Z
数字表示为0-9
下划线表示为_
中划线表示为-
由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现,根据以上条件得出邮件名称表达式:[a-zA-Z0-9_-]+
分析域名部分:一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如“qq.com”、“”、“mp.weixin.qq.com”、“12-34.com.cn”,分析可得域名类似“** .** .**.**”组成。
“**”部分可以表示为[a-zA-Z0-9_-]+
“.**”部分可以表示为\.[a-zA-Z0-9_-]+
多个“.**”可以表示为(\.[a-zA-Z0-9_-]+)+
综上所述,域名部分可以表示为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+
最终表达式: 由于邮箱的基本格式为“名称@域名”,需要使用“^”匹配邮箱的开始部分,用“$”匹配邮箱结束部分以保证邮箱前后不能有其他字符,所以最终邮箱的正则表达式为:
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
实例2:名称允许汉字、字母、数字,域名只允许英文域名
举例:张三001Abc@lenovo.com.cn
分析邮件名称部分:
汉字在正则表示为[\u4e00-\u9fa5]
字母和数字表示为A-Za-z0-9
通过分析得出邮件名称部分表达式为[A-Za-z0-9\u4e00-\u9fa5]+
分析邮件域名部分:邮件部分可以参考实例1中的分析域名部分。
得出域名部分的表达式为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+。
最终表达式: 我们用@符号将邮箱的名称和域名拼接起来,因此完整的邮箱表达式为 :
^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
u9fa5]+分析邮件域名部分:邮件部分可以参考实例1中的分析域名部分。得出域名部分的表达式为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+。最终表达式: 我们
怎样用正则表达式验证输入的邮箱,答对且详细者,我给高分!你可以在客户端用JS判断,代码如下:JS代码:script. type="text/javascript"
zA-Z0-9_-]+多个“.**”可以表示为(\.[a-zA-Z0-9_-]+)+综上所述,域名部分可以表示为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+最终表达式: 由于邮箱的基本格式为“名称@域名”,需要使用“^”匹配邮
function checkemail() { var temp = document.getElementById("email");
temp.value=""; temp.focus(); return false; } else{ document.getElementById("