解决正则验证匹配不上的问题

为了解决正则验证匹配不上的问题

原来的代码,可以验证非空,也可以验证不合法的情况,就是不能验证合法的情况,如下图
在这里插入图片描述
代码

function vailPhone(){
     	var phone = jQuery("#phone").val();
         var flag = false;
         var message = "";
         var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(17[0]{1})|(15[0-3]{1})|(15[5-9]{1})|(18[0-9]{1})) \d{8})$/;             
         if(phone == ''){
             message = "手机号码不能为空!";
         }else if(phone.length !=11){
             message = "请输入有效的手机号码!";
         }else if(!myreg.test(phone)){
             message = "请输入有效的手机号码!";
         }else if(checkPhoneIsExist()){
             message = "该手机号码已经被绑定!";
         }else{
                 flag = true;
         }
         if(!flag){
        	//提示错误效果
             
         }else{
              //提示正确效果
             
         }
         return flag;
      }

原因:myreg.test(phone)验证时返回值一直都是false,不知道是为嘛,即使换了正则表达式,依然如此,所以最后放弃这种方式了。

改版后的代码

$("#dMobile").blur(function(){          
      // 验证手机号是否合法
          console.log("手机失焦")
          var phone = $("#dMobile").val();
          var message = "";            
          if(phone == ''){
              message = "手机号码不能为空!";
              $("#phone_error").html(message);
              phone_flag = false;
              // async:false;
          }else if(!/^1[35789]\d{9}$/.test(phone)){
              console.log(phone)
              message = "请输入有效的手机号码!";
              phone_flag = false;
              $("#phone_error").html(message);
          }else {
              message = "";
              $("#phone_error").html(message);
              phone_flag = true;
          }
          
 });

改良后的代码,可以验证非空,也可以验证不合法的情况,也能验证合法的情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值