手机号码表单验证

看了很多大神的解释,终于明白一点,结合大神们的讲解,写下自己的理解:

首先 是使用正则表达式;

正则表达式(regular expression)是一个描述字符模式的对象。使用JavaScript正则表达式可以进行强大的模式匹配和文本检索与替换功能。

手机号码正则表达式验证。

function checkPhone(){ 
    var phone = document.getElementById('phone').value;
    if(!(/^1[34578]\d{9}$/.test(phone))){ 
        alert("手机号码有误,请重填");  
        return false; 
    } 
}

或者

function checkPhone(){ 
    var phone = document.getElementById('phone').value;
    if(!(/^1(3|4|5|7|8)\d{9}$/.test(phone))){ 
        alert("手机号码有误,请重填");  
        return false; 
    } 
}

 “ 小括号就是括号内看成一个整体 ,中括号就是匹配括号内的其中一个”

 

下面简单的解释一下:·

^1(3|4|5|7|8)\d{9}$

表示以1开头,第二位可能是3/4/5/7/8等的任意一个,在加上后面的\d表示数字[0-9]的9位,总共加起来11位结束。

从以上我们可以看到第一位是【1】开头,第二位则则有【3,4,5,7,8】,第三位则是【0-9】,第三位之后则是数字【0-9】。从而我们可以得出一个符合当前的手机号码验证正则表达式。

var reg = /^1(3|4|5|7|8)[0-9]{9}$/; //验证规则

var phoneNum = '15507621999';//手机号码

var flag = reg.test(phoneNum); //true

其中  \d 和 [0-9]  完全一样;

可以不验证第二位规则

var reg = /^1[0-9]{10}$/;

 

手机和固话同时验证方法

window.Parsley.addValidator('mphone', {
    //var _reg =
    validateString: function(value) {
        $phone=(/^1[0-9]{10}$/.test(value));
        $tel=(/^0\d{2,3}-?\d{7,8}$/.test(value));
        if($phone==true || $tel==true) {
            return true;
        }else{
            return false;
        }
    },

    messages: {
        en: '请输入正确手机号'
    }
});

参考 http://caibaojian.com/regexp-example.html

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值