一些正则验证

2 篇文章 0 订阅
1 篇文章 0 订阅

营业执照验证:

18位营业执照:

/^(?:(?![IOZSV])[\dA-Za-z]){2}\d{6}(?:(?![IOZSV])[\dA-Za-z]){10}$/

15位营业执照:

/^\d{15}$/

身份证验证:

 
function checkCard (value) {
  var errorStatus = true;
  function checkLastNum (num) {
    var ValCodeArr = ["1", "0", "x", "9", "8", "7", "6", "5", "4",
      "3", "2"];
    var Wi = ["7", "9", "10", "5", "8", "4", "2", "1", "6", "3", "7",
      "9", "10", "5", "8", "4", "2"];
    var Ai = "";
    if (num.length == 18) {
      Ai = num.substring(0, 17);
    } else if (card.length == 15) {
      Ai = num.substring(0, 6) + "19" + num.substring(6, 15);
    }
    var TotalmulAiWi = 0;
    for (var i = 0; i < 17; i++) {
      TotalmulAiWi = TotalmulAiWi
        + parseInt(Ai[i])
        * parseInt(Wi[i]);
    }
    var modValue = TotalmulAiWi % 11;
    var errorInfo = false;
    var strVerifyCode = ValCodeArr[modValue];
    Ai = Ai + strVerifyCode;
    if (num.length == 18) {
      if (num === Ai) {
        errorInfo = false;
      } else {
        errorInfo = true;
      }
    }
    return errorInfo
  }

  var card = value.replace("X",'x');
  var number = "";
  var isNumber = /[0-9]*/;
  var isDate = /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$/;
  if (card.length == 18) {
    number = card.substring(0, 17);
  } else if (card.length == 15) {
    number = card.substring(0, 6) + "19" + number.substring(6, 15);
  }
  var today = new Date();
  var year = number.substring(6, 10);
  var month = number.substring(10, 12);
  var day = number.substring(12, 14);
  var date = year + "-" + month + "-" + day;
  var area = number.substring(0, 2);
  var areaList = ["11", "12", "13", "14", "15", "21", "22", "23", "31", "32", "33", "34", "35", "36", "37", "41", "42", "43", "44", "45", "46", "50", "51", "52", "53", "54", "61", "62", "63", "64", "65", "71", "81", "82", "91"];
  if (card.length != 15 && card.length != 18) {
    errorText = "身份证号码长度应该为15位或18位";
    errorStatus = false;
  } else if (!isNumber.test(number) || !isDate.test(date) || (today.getFullYear() - parseInt(year)) > 150 || (today.getTime() - Date.parse(
      month + "/" + day + "/" + year)) < 0 || parseInt(month) > 12 || parseInt(month) == 0 || parseInt(day) > 31 || parseInt(day) == 0 || $.inArray(area, areaList) < 0 || checkLastNum(card)) {
    errorText = "身份证号码格式不正确";
    errorStatus = false;
  }
  return errorStatus
}

日期格式[YYYY-MM-DD]验证

/^((\d{2}(([02468][048])|([13579][26]))[\/]?((((0?[13578])|(1[02]))[\/]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\/]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\/]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\/]?((((0?[13578])|(1[02]))[\/]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\/]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\/]?((0?[1-9])|(1[0-9])|(2[0-8]))))))?$/

密码为:6位以上且必须包含字母数字和特殊字符

/^(?=.*[A-Za-z])(?=.*\d)(?=.*[`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]·!~¥…^#@()%—-《》?=+&*:“”【】、|\/;‘’,。])[A-Za-z\d`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]·!~¥…^@#*-&%()—《》=+?:|\/“”【】、;‘,。]{6,}$/

手机号码验证:

/^1[0-9]{10}$/
或者
/^1[3|4|5|7|8][0-9]{9}$/ 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值