javascript正则表达式代码

/**
 * 描述:简单的验证,可以继续扩展
 */
 
var utils = {
 /*
  * 版本号,没有什么作用
  */
 Version : '0.0.1',

 /*
  * 用途:检查输入字符串是否只由英文字母和数字和下划线组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
  */
 isNumberOr_Letter : function(s) {// 判断是否是数字或字母
  var regu = "^[0-9a-zA-Z\_]+$";
  var re = new RegExp(regu);
  if (re.test(s)) {
   return true;
  } else {
   return false;
  }
 },

 /*
  * 用途:检查输入对象的值是否符合E-Mail格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false
  */
 isEmail : function(str) {
  var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
  if (myReg.test(str))
   return true;
  return false;
 },

 /*
  * 用途:检查输入手机号码是否正确 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
  */
 checkMobile : function(s) { 
  var regu = /^[1][0-9][0-9]{9}$/;
  var re = new RegExp(regu);
  if (re.test(s)) {
   return true;
  } else {
   return false;
  }
 },

 /*
  * 用途:检查输入字符串是否是数字 输入: str:字符串 返回: 如果通过验证返回true,否则返回false
  */

 isNumber : function(str) {
  var reg = /^\d+$/;
  if (reg.test(str))
   return true;
  else
   return false;
 },

 /*
  * 用途:检查输入字符串是否符合时间格式(时:分:秒),格式:00:02:04 输入: time:字符串 返回: 如果通过验证返回true,否则返回false
  */
 isTime : function(time) {
  var regex = /^[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$/;
  if (!regex.test(time)) {
   return false;
  }
  var hour = time.substring(0, 2);
  var minute = time.substring(3, 5);
  var second = time.substring(6);
  if (hour > 23 || hour < 0) {
   return false;
  }
  if (minute > 60 || minute < 0) {
   return false;
  }
  if (second > 60 || second < 0) {
   return false;
  }
  return true;
 },

 /*
  * 用途:检查输入字符串是否符合正整数格式 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
  */
 isNumber : function(s) {
  var regu = "^[0-9]+$";
  var re = new RegExp(regu);
  if (s.search(re) != -1) {
   return true;
  } else {
   return false;
  }
 },

 /*
  * 用途:检查输入字符串是否符合国内固话或者传真格式 输入: s:字符串 格式例如:020-87110252 返回:
  * 如果通过验证返回true,否则返回false
  */

 isTel : function(s) {
  var reg = /^((0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
  if (!reg.test(s))
   return false
  return true
 },

 /*
  * 用途:检查输入字符串是否符合身份证格式 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
  */

 isIDno : function(strIDno) {
  var aCity = {
   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 : "国外"
  };

  var iSum = 0;
  var info = "";
  // var strIDno = obj.value;
  var idCardLength = strIDno.length;
  if (!/^\d{17}(\d|x)$/i.test(strIDno) && !/^\d{15}$/i.test(strIDno)) {
   // alert("非法身份证号");
   return false;
  }

  // 在后面的运算中x相当于数字10,所以转换成a
  strIDno = strIDno.replace(/x$/i, "a");

  if (aCity[parseInt(strIDno.substr(0, 2))] == null) {
   // alert("非法地区");
   return false;
  }

  if (idCardLength == 18) {
   sBirthday = strIDno.substr(6, 4) + "-"
     + Number(strIDno.substr(10, 2)) + "-"
     + Number(strIDno.substr(12, 2));
   var d = new Date(sBirthday.replace(/-/g, "/"))
   if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d
     .getDate())) {
    // alert("非法生日");
    return false;
   }

   for ( var i = 17; i >= 0; i--)
    iSum += (Math.pow(2, i) % 11)
      * parseInt(strIDno.charAt(17 - i), 11);

   if (iSum % 11 != 1) {
    // alert("非法身份证号");
    return false;
   }
  } else if (idCardLength == 15) {
   sBirthday = "19" + strIDno.substr(6, 2) + "-"
     + Number(strIDno.substr(8, 2)) + "-"
     + Number(strIDno.substr(10, 2));
   var d = new Date(sBirthday.replace(/-/g, "/"))
   var dd = d.getFullYear().toString() + "-" + (d.getMonth() + 1)
     + "-" + d.getDate();
   if (sBirthday != dd) {
    // alert("非法生日");
    return false;
   }
  }
  return true;
 },

 /*
  * 用途:检查输入字符串是否符合邮政编码格式 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
  */

 isZipcode : function(str) {
  var reg = /^\d+$/;
  if (!reg.test(str))
   return false;
  if (str.length != 6) {
   // alert("邮政编码长度必须是6位");
   return false;
  }
  return true;
 },

 /*
  * 用途:检查输入字符串是否符合金额格式 格式定义为带小数的正数,小数点后最多三位 输入: s:字符串 返回:
  * 如果通过验证返回true,否则返回false
  */
 isMoney : function(s) {
  var regu = "^[0-9]+[\.][0-9]{0,3}$";
  var re = new RegExp(regu);
  if (re.test(s)) {
   return true;
  } else {
   return false;
  }
 },

 /*
  * 用途:检查输入字符串是否只由汉字组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
  */

 isZh : function(str) {
  var reg = /^[\u4e00-\u9fa5]+$/;
  if (reg.test(str))
   return true;
  return false;
 },

 /*
  * 用途:检查输入对象的值是否符合整数格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false
  */
 isInteger : function(str) {
  var regu = /^[-]{0,1}[0-9]{1,}$/;
  return regu.test(str);
 },

 /*
  * 用途:检查输入字符串是否只由汉字、字母、数字组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false
  */
 isChinaOrNumbOrLett : function(s) {// 判断是否是汉字、字母、数字组成
  var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
  var re = new RegExp(regu);
  if (re.test(s)) {
   return true;
  } else {
   return false;
  }
 },

 /*
  * 用途:校验ip地址的格式 输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false;
  */
 isIP : function(strIP) {
  if (isNull(strIP))
   return false;
  var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g // 匹配IP地址的正则表达式
  if (re.test(strIP)) {
   if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256
     && RegExp.$4 < 256)
    return true;
  }
  return false;
 },

 /*
  * 用途:检查输入字符串是否只由英文字母和数字组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
  */
 isNumberOrLetter : function(s) {// 判断是否是数字或字母
  var regu = "^[0-9a-zA-Z]+$";
  var re = new RegExp(regu);
  if (re.test(s)) {
   return true;
  } else {
   return false;
  }
 },

 /*
  * 用途:去掉空格操作 一系列 输入:s:字符串 返回: 字符串
  */
 trim : function(str) {
  return str.replace(/(^\s*)|(\s*$)/g, "");
 },
 //去除左边空格
 ltrim : function(str) {
  return str.replace(/(^\s*)/g, "");
 },
 //去除右边空格
 rtrim : function(str) {
  return str.replace(/(\s*$)/g, "");
 },
 //去除全部空格
 trim_string : function(str) {
  return str.replace(/(^\s*)|(\s*$)/g, "");
 }

};
 //利用正则表达式判断输入的数是否为0---9之间
    function regIsDigit(fData)
    {
     var reg = new RegExp("^[0-9]$");
     return (reg.test(fData));
    }
   //判断是否是数值 
   function regIsNumber(fData)
    {
     var reg = new RegExp("^[-]?[0-9]+[\.]?[0-9]+$");
     return reg.test(fData)
    }
         function isNumber(age){
   
     if(regIsNumber(age)){
        alert("您输入的年龄是合法的");
     document.getElementById("ageInf1o").innerText(' 您输入的年龄是合法的! ');
     }else{
        alert("您输入的年龄是不合法的");
      document.getElementById("ageInf1o").innerText("<font color='red'> 您输入的年龄是不合法的! </font>");
     }
   }
   
   //验证Email是否正确

        function regIsEmail(fData)
        {
            var reg = new RegExp("^[0-9a-zA-Z]+@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$");
            return reg.test(fData);
        }

   //判断手机号是否正确
        function regIsPhone(fData)
        {
            var reg = /^(\+86)?(1[0-9]{10})$/;
   
            return reg.test(fData);
        }
   //验证用户名只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
  function isRegisterUserName(s)
  {
  var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
  if (!patrn.exec(s))
  return false ;
  return true ;
  }
  
  //验证简单日期的合法性(年-月-日)
  function regIsDate(date){
   var regex =/^([1-2]\d{3})[\/|\-](0?[1-9]|10|11|12)[\/|\-]([1-2]?[0-9]|0[1-9]|30|31)$/;
   return regex.test(date);
  }
  
  //验证密码:以字母开头、数字字母组成,长度在6-12之间
  function isRegistPassword(s)
  {
      var reg = new RegExp("^[a-zA-Z]{1}[0-9a-zA-Z]{5,11}$");
   if(reg.test(s)){
    return true;
   }
    return false;
  }
  

相关推荐