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

2481次浏览

在做前端form表单验证的时候,经常,也是必须对input做一下判断,例如邮箱了,手机了,input非空了,input只能输入数字了等等。关于input文本框输入限制,请看文章:input文本框输入时正则判断

本篇文章主要讲解“JavaScript RegExp 常用的手机和邮箱正则”,我在做表单的时候,一般是应用Validform,这个插件是比较好用的,能很好的解决绝大部分的表单验证。具体的demo地址是:http://validform.rjboy.cn/demo.html

但是,这个表单验证不是万能的,有需要特殊处理的时候,例如,如何正确判断一个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}$) //手机和电话

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

dataType:{
    "*":/[\w\W]+/,
    "*6-16":/^[\w\W]{6,16}$/,
    "n":/^\d+$/,
    "n6-16":/^\d{6,16}$/,
    "s":/^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]+$/,
    "s6-18":/^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\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+)+.*$/
},

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

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

 var reg = new RegExp("(^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();
        });
               return false;
             }

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

Tags: javascriptRegExp

相关文章: