美文网首页
关于正则的试用验证身份证 年龄 邮箱 手机 替换*号

关于正则的试用验证身份证 年龄 邮箱 手机 替换*号

作者: 胖太_91bf | 来源:发表于2017-10-16 16:35 被阅读0次

    1.将手机号的4大7位替换成*:
    使用replace()方法代码如下:

    // 匹配手机号首尾,以类似“123****8901”的形式输出
    '12345678901'.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
    

    此段正则匹配字符串中的连续11位数字,替换中间4位为*号,输出常见的隐匿手机号的格式。
    如果要仅得到末尾4位,则可以改成如下形式:

    // 匹配连续11位数字,并替换其中的前7位为*号
    '15110280327'.replace(/\d{7}(\d{4})/, '*******$1');
    

    补充注释:正则表达式中的括号即可用于分组,同时也用于定义子模式串,在replace()方法中,参数二中可以使用$n(n为数字)来依次引用模式串中用括号定义的字串。

    2.正则手机号验证:

    /**
     * 验证手机号码
     * 
     * 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147
     * 联通号码段:130、131、132、136、185、186、145
     * 电信号码段:133、153、180、189
     * 
     * @param cellphone
     * @return
     */
    public static boolean checkCellphone(String cellphone) {
    String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$"; 
    return check(cellphone, regex);
    }
     
    /**
     * 验证固话号码
     * 
     * @param telephone
     * @return
     */
    public static boolean checkTelephone(String telephone) {
    String regex = "^(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)$";
    return check(telephone, regex);
    }
    

    还有一种简单的写法:

    /^1[3|4|5|8][0-9]\d{8}$/
    

    ^1代表以1开头,现在中国的手机号没有是其它开头的,以后不一定啊
    [3|4|5|8] 紧跟上面的1后面,可以是3或4或5或8的一个数字,如果以后出现190开始的手机号码了,就需要如下[3|4|5|8|9]
    [0-9]表示0-9中间的任何数字,可以是0或9
    \d{4,8} 这个\d跟[0-9]意思一样,都是0-9中间的数字, {4,8}为4到8位, {8}为8位数字

    3.正则验证身份证:

    var checkId = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    
    
    function isCardNo(card)  
    {  
       // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X  
       var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;  
       if(!reg.test(card) )  
       {  
           alert("身份证输入不合法");  
           return  false;  
       }  
    }  
    

    4.正则验证邮箱格式
    第一种:比较简单,容易理解

    var checkEmail = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
    

    解释一下这对代码:
    开始必须是大(A-Z)小(a-z)写字母和数字(0-9)和下划线()和横杠(-), + 代表匹配1到多次,然后是@, 后边是任意字符 后边是 . 和任意字符, 比较简单, 值匹配最基本的邮箱格式
    适用于这几种情况:
    1、纯数字
    比如:123456@jb51.net
    2、纯字母
    3、字母数字混合
    4、带点的
    比如:web.blue@jb51.net
    5、带下划线
    比如:web_blue@jb51.net
    6、带连接线
    比如:web-blue@jb51.net
    第二种: 第一种方式不支持的严重情况:在开头和结尾出现特殊字符 '
    '

    相关文章

      网友评论

          本文标题:关于正则的试用验证身份证 年龄 邮箱 手机 替换*号

          本文链接:https://www.haomeiwen.com/subject/ucxluxtx.html