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

javascript實現(xiàn)檢驗的各種規(guī)則

 更新時間:2015年07月31日 12:30:17   作者:伯融  
這篇文章主要介紹了javascript實現(xiàn)檢驗的各種規(guī)則,涉及javascript針對手機號、郵箱、網(wǎng)址、漢字及圖片等相關(guān)檢測技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了javascript實現(xiàn)檢驗的各種規(guī)則。分享給大家供大家參考。具體如下:

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

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

最新評論

彝良县| 犍为县| 肇州县| 民勤县| 宣汉县| 突泉县| 彭州市| 驻马店市| 个旧市| 来凤县| 沅陵县| 乡城县| 会泽县| 沅陵县| 青州市| 六枝特区| 宜春市| 萍乡市| 恩平市| 读书| 贵南县| 齐齐哈尔市| 内丘县| 万源市| 嵩明县| 呈贡县| 温州市| 安达市| 旺苍县| 栾川县| 柘城县| 铜川市| 台江县| 明溪县| 辽中县| 镇坪县| 六安市| 左贡县| 扶风县| 南陵县| 翁源县|