>科技>>正文

JavaScript RegExp 常用的手机和邮箱正则

原标题:JavaScript RegExp 常用的手机和邮箱正则

在做前端form表单验证的时候,经常,也是必须对input做一下判断,例如邮箱了,手机了,input非空了,input只能输入数字了等等。

本篇文章主要讲解“Java RegExp 常用的手机和邮箱正则”,我在做表单的时候,一般是应用Validform,这个插件是比较好用的,能很好的解决绝大部分的表单验证。

但是,这个表单验证不是万能的,有需要特殊处理的时候,例如,如何正确判断一个input文本框既能输入手机,又能输入邮箱呢?

这种情况的应用场景很多,有时候用户名必须是手机或者邮箱,其他不对,就用到了这个判断。

其实这种正则表达式也是比较简单的,下面我就讲解一下:

邮箱的正则:

^[w.-]+@(?:[a-z0-9]+(?:-[a-z0-9]+)*.)+[a-z]{2,3}$

手机的正则

^1[3|4|5|8]d{9}$

两个正则的结合,只需要“I”就可以了,如下:

(^[w.-]+@(?:[a-z0-9]+(?:-[a-z0-9]+)*.)+[a-z]{2,3}$)|(^1[3|4|5|8]d{9}$)//邮箱和手机

同样的道理,有时候在填写物流信息的时候,需要留联系方式,联系方式可以是手机或者电话,那么正则同理也很简单,可以如下写:

(^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9}$)|(^0(10|2[0-5789]|d{3})d{7,8}$)//手机和电话

/(^1[3|4|5|7|8]d{9})|((^0d{2}-*|^0d{3}-*)d{7,8}$)/

若你运用Validform,找到Validform_v5.3.2.js这个文件,找到如下代码:

dataType:{"*":/[wW]+/,"*6-16":/^[wW]{6,16}$/,"n":/^d+$/,"n6-16":/^d{6,16}$/,"s":/^[u4E00-u9FA5uf900-ufa2dw.s]+$/,"s6-18":/^[u4E00-u9FA5uf900-ufa2dw.s]{6,18}$/,"p":/^[0-9]{6}$/,"m":/^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9}$/,"e":/^w+([-+.']w+)*@w+([-.]w+)*.w+([-.]w+)*$/,"url":/^(w+://)?w+(.w+)+.*$/

},

将上面的正则添加在后面就可以了!

或者你也可以自己判断,方法如下:

varreg =newRegExp("(^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9}$)|(^0(10|2[0-5789]|d{3})d{7,8}$)");if(!reg.test(phone_mob)){hiAlert('请输入正确的手机号码','请注意',function(){$("#phone_mob").focus();});returnfalse;}

上面代码我运用的是hiAlert插件,您也可以自己直接用alert,提示!

常用正则列举 //正整数

/^[0-9]*[1-9][0-9]*$/;

//负整数

/^-[0-9]*[1-9][0-9]*$/;

//正浮点数

/^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$/;

//负浮点数

/^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;

//浮点数

/^(-?d+)(.d+)?$/;

//email地址

/^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/;

//url地址

/^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$/;

或:^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>""])*$//年/月/日(年-月-日、年.月.日)/^(19|20)dd[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/;//匹配中文字符/[u4e00-u9fa5]/;//匹配帐号是否合法(字母开头,允许5-10字节,允许字母数字下划线)/^[a-zA-Z][a-zA-Z0-9_]{4,9}$/;//匹配空白行的正则表达式/ns*r/;//匹配中国邮政编码/[1-9]d{5}(?!d)/;//匹配身份证/d{15}|d{18}/;//匹配国内电话号码/(d{3}-|d{4}-)?(d{8}|d{7})?/;//匹配IP地址/((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)/;//匹配首尾空白字符的正则表达式/^s*|s*$/;//匹配HTML标记的正则表达式< (S*?)[^>]*>.*?|< .*? />;//sql 语句^(select|drop|delete|create|update|insert).*$//提取信息中的网络链接(h|H)(r|R)(e|E)(f|F) *= *('|")?(w||/|.)+('|"| *|>)?//提取信息中的邮件地址w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*//提取信息中的图片链接(s|S)(r|R)(c|C) *= *('|")?(w||/|.)+('|"| *|>)?//提取信息中的 IP 地址(d+).(d+).(d+).(d+)//取信息中的中国手机号码(86)*0*13d{9}//提取信息中的中国邮政编码[1-9]{1}(d+){5}//提取信息中的浮点数(即小数)(-?d*).?d+//提取信息中的任何数字(-?d*)(.d+)?//电话区号^0d{2,3}$//腾讯 QQ 号^[1-9]*[1-9][0-9]*$//帐号(字母开头,允许 5-16 字节,允许字母数字下划线)^[a-zA-Z][a-zA-Z0-9_]{4,15}$//中文、英文、数字及下划线^[u4e00-u9fa5_a-zA-Z0-9]+$返回搜狐,查看更多

责任编辑:

声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
阅读 ()
投诉
免费获取
今日搜狐热点
今日推荐