最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript常用正則表達(dá)式匯總

 更新時(shí)間:2015年07月31日 10:44:07   投稿:hebedich  
本文給大家總結(jié)了一下常見的javascript檢驗(yàn)各種規(guī)則的代碼,通過正則表達(dá)式來(lái)實(shí)現(xiàn),都是項(xiàng)目中經(jīng)常需要用到的,有需要的小伙伴可以參考下。

javascript常用正則表達(dá)式匯總

/**
 * 檢驗(yàn)各種規(guī)則
 * @param str 檢驗(yàn)的內(nèi)容
 * @param cType 預(yù)設(shè)的檢驗(yàn)規(guī)則 字符串[
 *             empty,   檢驗(yàn)是否為空
 *             telphone,  座機(jī)手機(jī)號(hào)碼
 *             allphone,  所有手機(jī)號(hào)碼
 *             ydphone,  移動(dòng)手機(jī)號(hào)碼
 *             ltphone,  聯(lián)通手機(jī)號(hào)碼
 *             dxphone,  電信手機(jī)號(hào)碼
 *             email,   郵箱
 *             url,    網(wǎng)址
 *             cn,     漢字
 *             image,   圖片格式
 *             emscode,  郵政編碼
 *             isEmpty,  檢查是否為空
 *             isint,    整數(shù)
 *             isfloat,  判斷是否為正小數(shù)
 *             isnumber,  判斷為實(shí)數(shù)
 *             words,   判斷是否為英文字母
 *             wordsAndNum,      判斷是否為字母+數(shù)字
 *             wordsAndNumAndDownline, 判斷是否由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串
 *             qq,           QQ檢驗(yàn)
 *             personCard18,      身份證18位
 *             personCard15,      身份證15位
 *             ]
 * @param regex 自定義表達(dá)式 傳入格式例如:"^\-?[1-9]+\d*$"
 *
 * @description cType 與 regex 只能有一個(gè)為空
 *       如 checkObjectByRegex("測(cè)試中文", "cn");  // 判斷中文
 *       如 checkObjectByRegex("測(cè)試中文", null, "^[\u4e00-\u9fa5]+$");  // 自定義表達(dá)式正則
 * @return {boolean}
 */
function checkObjectByRegex(str, cType, regex) {
  /**
   * 定義驗(yàn)證各種格式類型的正則表達(dá)式對(duì)象
   */
  var Regexs = {
    telphone: (/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/), //座機(jī)手機(jī)號(hào)碼
    allphone: (/^((13[0-9])|(14[57])|(15[0-9])|(17[678])|(18[0-9]))[0-9]{8}$/),     //所有手機(jī)號(hào)碼
    ydphone: (/^((13[4-9])|(15[012789])|147|178|(18[23478]))[0-9]{8}$/),      //移動(dòng)手機(jī)號(hào)碼
    ltphone: (/^((13[0-2])|(145)|(15[56])|(176)|(18[56]))[0-9]{8}$/),          //聯(lián)通手機(jī)號(hào)碼
    dxphone: (/^((133)|(153)|(177)|(180)|(181)|(189))[0-9]{8}$/),        //電信手機(jī)號(hào)碼
    email: (/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/),//郵箱
    url: (/(?:https|http|ftp|rtsp|mms):\/\/.+\/[\w]+\.[\w]+/),         //網(wǎng)址
    cn: (/^[\u4e00-\u9fa5]+$/i),                        //漢字
    image: (/\.jpg$|\.jpeg$|\.png$/i),                         //圖片格式
    emscode: (/^[1-9]\d{5}$/),                         //郵政編碼
    isint: (/^(\-)?[1-9]+\d*$/),                        //整數(shù)
    isfloat: (/^[0-9]+\.?[0-9]*$/),                 //判斷是否為正小數(shù)
    isnumber: (/^[-\+]?\d+(\.\d+)?$/),               //判斷為實(shí)數(shù)
    words: (/^[A-Za-z]+$/),                     //判斷是否為英文字母
    wordsAndNum: (/^[A-Za-z0-9]+$/),                //判斷是否為字母+數(shù)字
    wordsAndNumAndDownline: (/^\w+$/),               //判斷是否由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串
    qq: (/^[1-9]\d{4,11}$/),                    //QQ
    personCard18: (/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d|X)$/),  //身份證18位
    personCard15: (/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/)     //身份證15位
  };
  var nReg;
  if (str == null || typeof(str) == "undefined") {
    str = "";
  }
  if (cType != null && typeof(cType) != "undefined") {
    if (cType == "isEmpty") {
      str = $.trim(str);
      if (str != null && typeof(str) != "undefined" && str != "") {
        return false;
      } else return true;
    }
    nReg = Regexs[cType];
    if (str == null || str == "") return false; //輸入為空,認(rèn)為是驗(yàn)證通過
    // 針對(duì) 18位身份證單獨(dú)處理
    if (cType == 'personCard18') {
      var ary = str.match(Regexs[cType]);
      if (!(parseInt(ary[3]) >= 1900)) return false;
      var D = new Date(ary[3] + "/" + ary[4] + "/" + ary[5]);
      var isTrue = D.getFullYear() == ary[3] && (D.getMonth() + 1) == ary[4] && D.getDate() == ary[5];
      return isTrue;
    }
    // 針對(duì) 15位身份證單獨(dú)處理
    if (cType == 'personCard15') {
      var ary = str.match(Regexs[cType]);
      var D = new Date("19" + ary[3] + "/" + ary[4] + "/" + ary[5]);
      var isTrue = D.getYear() == ary[3] && (D.getMonth() + 1) == ary[4] && D.getDate() == ary[5];
      return isTrue;
    }
  } else {
    // 自定義正則表達(dá)式處理
    if (regex != null && typeof(regex) != "undefined") {
      nReg = new RegExp(regex);
    } else {
      return false;
    }
  }
  return nReg.test(str);
}

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

最新評(píng)論

晴隆县| 菏泽市| 西乡县| 仙居县| 普兰店市| 新邵县| 澄迈县| 淳化县| 平舆县| 南木林县| 独山县| 开化县| 兴国县| 牙克石市| 榆中县| 来安县| 临沧市| 墨江| 广水市| 堆龙德庆县| 来凤县| 聂荣县| 山西省| 五寨县| 文水县| 晋城| 海城市| 黄龙县| 仁寿县| 滨州市| 象州县| 香格里拉县| 宽甸| 三河市| 吉隆县| 嘉善县| 黑山县| 福海县| 吴堡县| 乌兰浩特市| 罗江县|