成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

form表單驗證包括(強(qiáng)悍的身份驗證和銀行卡驗證),不只是正則哦

ShevaKuilin / 1168人閱讀

摘要:銀行卡驗證銀行卡驗證身份證驗證身份證號碼為位或者位,位時全為數(shù)字,位前位為數(shù)字,最后一位是校驗位,可能為數(shù)字或字符。

銀行卡驗證:

/**
 * 銀行卡驗證
 * @param {*string} str
 */
function isBankCard(str) {
    var regex = /^(998801|998802|622525|622526|435744|435745|483536|528020|526855|622156|622155|356869|531659|622157|627066|627067|627068|627069)d{10}$/;
    if (regex.test(str)) {
        return true;
    }
    return false;
}

身份證驗證:

function isIdCard (idcard) {
  if (!idcard) {
    return false;
  }
  var num = idcard.toUpperCase();
  //身份證號碼為15位或者18位,15位時全為數(shù)字,18位前17位為數(shù)字,最后一位是校驗位,可能為數(shù)字或字符X。
  if (!/(^d{15}$)|(^d{17}([0-9]|X)$)/.test(num)) {
    // alert("輸入的身份證號長度不對,或者號碼不符合規(guī)定!
15位號碼應(yīng)全為數(shù)字,18位號碼末位可以為數(shù)字或X。");
    return false;
  }
  //校驗位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認(rèn)為是數(shù)字10。
  //下面分別分析出生日期和校驗位
  var len, re;
  len = num.length;
  if (len == 15) {
    re = new RegExp(/^(d{6})(d{2})(d{2})(d{2})(d{3})$/);
    var arrSplit = num.match(re);

    //檢查生日日期是否正確
    var dtmBirth = new Date(
      "19" + arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]
    );
    var bGoodDay;
    bGoodDay =
      dtmBirth.getYear() == Number(arrSplit[2]) &&
      dtmBirth.getMonth() + 1 == Number(arrSplit[3]) &&
      dtmBirth.getDate() == Number(arrSplit[4]);
    if (!bGoodDay) {
      // alert("輸入的身份證號里出生日期不對!");
      return false;
    } else {
      //將15位身份證轉(zhuǎn)成18位
      //校驗位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認(rèn)為是數(shù)字10。
      var arrInt = new Array(
        7,
        9,
        10,
        5,
        8,
        4,
        2,
        1,
        6,
        3,
        7,
        9,
        10,
        5,
        8,
        4,
        2
      );
      var arrCh = new Array(
        "1",
        "0",
        "X",
        "9",
        "8",
        "7",
        "6",
        "5",
        "4",
        "3",
        "2"
      );
      var nTemp = 0, i;
      num = num.substr(0, 6) + "19" + num.substr(6, num.length - 6);
      for (i = 0; i < 17; i++) {
        nTemp += num.substr(i, 1) * arrInt[i];
      }
      num += arrCh[nTemp % 11];
      return true;
    }
  }
  if (len == 18) {
    re = new RegExp(/^(d{6})(d{4})(d{2})(d{2})(d{3})([0-9]|X)$/);
    var arrSplit = num.match(re);

    //檢查生日日期是否正確
    var dtmBirth = new Date(
      arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]
    );
    var bGoodDay;
    bGoodDay =
      dtmBirth.getFullYear() == Number(arrSplit[2]) &&
      dtmBirth.getMonth() + 1 == Number(arrSplit[3]) &&
      dtmBirth.getDate() == Number(arrSplit[4]);
    if (!bGoodDay) {
      //alert(dtmBirth.getYear());
      //alert(arrSplit[2]);
      //alert("輸入的身份證號里出生日期不對!");
      return false;
    } else {
      //檢驗18位身份證的校驗碼是否正確。
      //校驗位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認(rèn)為是數(shù)字10。
      var valnum;
      var arrInt = new Array(
        7,
        9,
        10,
        5,
        8,
        4,
        2,
        1,
        6,
        3,
        7,
        9,
        10,
        5,
        8,
        4,
        2
      );
      var arrCh = new Array(
        "1",
        "0",
        "X",
        "9",
        "8",
        "7",
        "6",
        "5",
        "4",
        "3",
        "2"
      );
      var nTemp = 0, i;
      for (i = 0; i < 17; i++) {
        nTemp += num.substr(i, 1) * arrInt[i];
      }
      valnum = arrCh[nTemp % 11];
      if (valnum != num.substr(17, 1)) {
        //alert("18位身份證的校驗碼不正確!應(yīng)該為:" + valnum);
        return false;
      }
      return true;
    }
  }
  return false;
}

手機(jī)號碼驗證:

//驗證手機(jī)號碼
function isMobile(s) {
  var regu = /^(13[0-9]|15[0-9]|18[0-9]|147|145|149|170|171|173|175|176|177|178)d{8}$/;
  if (regu.test(s)) {
    return true;
  } else {
    return false;
  }
}

固話驗證:

//驗證固話
function isTelephone(str) {
  var myReg = /([0-9]{3,4}-)?[0-9]{7,8}/;
  if (myReg.test(str)) return true;
  return false;
}

中文文字驗證:

//驗證是否是中文
function isChinese(str) {
  var regu = "^[u4E00-u9FA5uF900-uFA2D]+$";
  var re = new RegExp(regu);
  if (re.test(str)) {
    return true;
  } else {
    return false;
  }
}

郵箱驗證:

//驗證郵箱
function isEmail(str) {
  var myReg = /^(w-*.*)+@(w-?)+(.w{2,4})+$/;
  if (myReg.test(str)) return true;
  return false;
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/82441.html

相關(guān)文章

  • 接口測試要測試什么?

    摘要:接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點。二接口測試用例設(shè)計接口測試的用例設(shè)計是關(guān)鍵,不能只是單純正常請求通過就算接口測試過了,要從業(yè)務(wù)功能性能等上去設(shè)計用例。 ...

    邱勇 評論0 收藏0
  • 常見六大Web 安全攻防解析

    摘要:想閱讀更多優(yōu)質(zhì)原創(chuàng)文章請猛戳博客一,跨站腳本攻擊,因為縮寫和重疊,所以只能叫??缯灸_本攻擊是指通過存在安全漏洞的網(wǎng)站注冊用戶的瀏覽器內(nèi)運(yùn)行非法的標(biāo)簽或進(jìn)行的一種攻擊??缯灸_本攻擊有可能造成以下影響利用虛假輸入表單騙取用戶個人信息。 前言 在互聯(lián)網(wǎng)時代,數(shù)據(jù)安全與個人隱私受到了前所未有的挑戰(zhàn),各種新奇的攻擊技術(shù)層出不窮。如何才能更好地保護(hù)我們的數(shù)據(jù)?本文主要側(cè)重于分析幾種常見的攻擊的類型...

    lidashuang 評論0 收藏0
  • va.js——Vue 表單驗證插件寫作過程

    摘要:一表單驗證模塊的構(gòu)成任何表單驗證模塊都是由配置校驗報錯取值這幾部分構(gòu)成的。其實我是想寫個指令來完成表單驗證的事的。當(dāng)然表單驗證這種是高度定制化的。 前言 前段時間,老大搭好了Vue的開發(fā)環(huán)境,于是我們愉快地從JQ來到了Vue。這中間做的時候,在表單驗證上做的不開心,看到vue的插件章節(jié),感覺自己也能寫一個,因此就自己開始寫了一個表單驗證插件va.js。 當(dāng)然為什么不找個插件呢? vu...

    suosuopuo 評論0 收藏0
  • vue-cdd-validator vue.js 表單驗證插件介紹

    摘要:示例電話電話錯誤信息指示指令對應(yīng)的表單控件的驗證結(jié)果。其主要是根據(jù)驗證的結(jié)果進(jìn)行的值的變換。如果為空值則默認(rèn)把所有帶有驗證的空間作為需要驗證對象。 cddv vue.js 表單驗證插件使用說明 版本:1.0.8-6 獲取 github:這里 npm安裝 npm i vue-cdd-validator --save yarn安裝 yarn add vue-cdd-validator 安裝...

    VEIGHTZ 評論0 收藏0
  • 前端技術(shù) 博客文章、書籍 積累

    摘要:好多編輯器例如等都支持這樣的語法來快速的編寫代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計怎樣進(jìn)行 書籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級程序設(shè)計》《JavaScript框架設(shè)計》《JavaScript專家編程》《JavaScript Ninjia》《JavaScript語言精粹(修訂版)》《JavaScript設(shè)計模式》《J...

    LiangJ 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<