失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 正则表达式 验证邮箱 身份证 手机号等

正则表达式 验证邮箱 身份证 手机号等

时间:2022-06-28 00:57:45

相关推荐

正则表达式 验证邮箱 身份证 手机号等

正则表达式 验证邮箱、身份证、手机号等

1.参考文献2. 案例演练 验证: 邮箱-手机-身份证3. 案例演练 验证: 邮箱-手机-身份证-姓名

1.参考文献

主要参考了“常用正则表达式—邮箱(Email)”和“邮箱验证正则表达式”两篇文章,超链接和参考的主要内容如下:

正则表达式30分钟入门教程

常用正则表达式—邮箱(Email)

分析邮件名称部分:26个大小写英文字母表示为: a-zA-Z数字表示为: 0-9下划线表示为: _中划线表示为: -由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现根据以上条件得出邮件名称表达式: [a-zA-Z0-9_-]+分析域名部分:一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如“”、“”、“mp.”、“12-”,分析可得域名类似“** .** .** .**”组成。“**”部分可以表示为: [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_-]+)+$分析邮件名称部分:汉字在正则表示为[\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_-]+)+$

邮箱验证正则表达式

^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$

2. 案例演练 验证: 邮箱-手机-身份证

1.自定义邮箱格式正则验证

2.自定义手机号格式正则验证

3.自定义身份证号的正则验证

代码如下:

<!DOCTYPE HTML><html><head><meta charset="utf-8"/><title> New Document </title><style type="text/css">.txt{color:red;font-size:10px;}</style><!-- <script type="text/javascript"></script> --></head><body><form action="" method="get" onsubmit="return checkAll()">邮箱:<input type="text" name="email" id="email" placeholder="邮箱" onblur="checkEmail()"><div id="emailTip" class="txt"></div>手机号:<input type="text" name="phone" id="phone" placeholder="手机号:11位(1开头)" onblur="checkPhone()"><div id="phoneTip" class="txt"></div>身份证号:<input type="text" name="idcard" id="idcard" placeholder="身份证号:18位(4开头,且最后一位为数字或字母。)" onblur="checkIdcard()"><div id="idcardTip" class="txt"></div><!-- 汉字:<input type="text" name="chinese" id="chinese" placeholder="汉字" onblur="checkChinese()"><div id="chineseTip" class="txt"></div> --><input type="submit" value="提交" ><input type="reset" value="重置" ><script type="text/javascript">//自定义邮箱格式正则验证//3.自定义手机号格式正则验证 //4.自定义身份证号的正则验证(15位或18位,年月日,尾数为字母或数字)//5.定义汉字在2-5之间的验证function checkEmail(){var yx=/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;if(yx.test(email.value)==false){emailTip.innerHTML="email格式不对,请重新输入!";return false;}emailTip.innerHTML="";return true;}function checkPhone(){var sj=/^1\d{10}$/;if(sj.test(phone.value)==false){phoneTip.innerHTML="手机号码格式不对,请重新输入!";return false;}phoneTip.innerHTML="";return true;}function checkIdcard(){var sfz=/^4\d{16}[a-zA-Z0-9]$/; if(sfz.test(idcard.value)==false){idcardTip.innerHTML="身份证格式不对,请重新输入!"; return false;}idcardTip.innerHTML="";return true;}/*function checkChinese(){if(){chineseTip.innerHTML="中文区间不对,请重新输入!";return false;}chineseTip.innerHTML="";return true;}*/function checkAll(){var ckE=checkEmail();var ckP=checkPhone();var ckI=checkIdcard();//var ckC=checkChinese();if(ckE && ckP && ckI){return true;}return false;}</script></body></html>

代码运行结果如下:

3. 案例演练 验证: 邮箱-手机-身份证-姓名

注意:验证名字时不能使用id="name " ,浏览器默认name为为关键字,需要换个id名

<!DOCTYPE HTML><html><head><meta charset="utf-8"/><title> New Document </title><style type="text/css">.txt{color:red;font-size:7px;height:13px;}</style><!-- <script type="text/javascript"></script> --></head><body><form action="" method="get" onsubmit="return checkAll()">邮箱:<input type="text" name="email" id="email" placeholder="邮箱" onblur="checkEmail()"><div id="emailTip" class="txt"></div>手机号:<input type="text" name="phone" id="phone" placeholder="手机号" onblur="checkPhone()"><div id="phoneTip" class="txt"></div>身份证号:<input type="text" name="idCard" id="idCard" placeholder="身份证号" onblur="checkIdCard()"><div id="idCardTip" class="txt"></div>姓名:<!-- 注意:这里验证名字时不能使用name 浏览器默认name为为关键字 --><input type="txt" name="name1" id="name1" placeholder="姓名" onblur="checkName()"><div id="nameTip" class="txt"></div><input type="submit" value="提交"><input type="reset" value="重置"></form><script type="text/javascript">//自定义邮箱格式正则验证//3.自定义手机号格式正则验证 //4.自定义身份证号的正则验证(15位或18位,年月日,尾数为字母或数字)//5.定义汉字在2-5之间的验证function checkEmail(){//设置正则变量var ce=/^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]{2,6}$/;//验证if(ce.test(email.value)==false){emailTip.innerHTML="邮箱格式不对,请重新输入!";return false;}emailTip.innerHTML="";return true;}function checkPhone(){//设置正则变量//var cp=/^1\d{10}$/var cp=/^(13[234]|15[234]|19[234])\d{8}$/ //前两位:13 15 19 第三位 2或3或4 //验证if(cp.test(phone.value)==false){phoneTip.innerHTML="手机格式不对,请重新输入";return false;}phoneTip.innerHTML="";return true;}function checkIdCard(){//设置正则变量var ci=/^4\d{16}\w$/ // 共18位 4开头 最后一位为数字或字母 \w等效于[a-zA-Z0-9]//验证if(ci.test(idCard.value)==false){idCardTip.innerHTML="格式输入不对,请重新输入";return false;}idCardTip.innerHTML="";return true;}function checkName(){//设置变量var cn=/^[\u4e00-\u9fa5]{3,6}$/; //名字:3-6个汉字//验证if(cn.test(name1.value)==false){nameTip.innerHTML="格式不对,请重新输入";return false;}nameTip.innerHTML="";return true;}function checkAll(){var c1=checkEmail();var c2=checkPhone();var c3=checkIdCard();var c4=checkName();if(c1 && c2 && c3 && c4){return true;}return false}</script></body></html>

运行结果如下:

格式正确的情况下:

格式错误的情况下:

如果觉得《正则表达式 验证邮箱 身份证 手机号等》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。