`
zg973595977
  • 浏览: 11967 次
社区版块
存档分类
最新评论

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;
  }
  

分享到:
评论

相关推荐

    javascript正则表达式学习笔记

    这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...

    javascript正则表达式综合练习

    JavaScript正则表达式是编程语言中的一个重要组成部分,用于处理文本模式匹配和字符串操作。这篇博客“javascript正则表达式综合练习”可能是一个实践教程或示例集合,旨在帮助开发者提升在JavaScript中使用正则...

    JavaScript正则表达式匹配 div style标签

    下面是一个简单的JavaScript示例代码,展示如何使用正则表达式匹配`&lt;div&gt;`和`&lt;style&gt;`标签: ```javascript // 示例字符串,包含div和style标签 var htmlString = '&lt;div&gt;这是一个div标签的内容。这是style标签中的...

    JavaScript 数据校验 正则表达式 示例代码

    JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码...

    常用Javascript正则表达式汇总

    以下是一些常见的JavaScript正则表达式及其应用: 1. **匹配中文字符**:`[\u4e00-\u9fa5]` 这个正则表达式用于匹配Unicode范围内的中文字符,包括所有汉字。例如,如果你想在一个字符串中查找所有中文字符,可以...

    经典JavaScript正则表达式实战

    下面详细解析了文档中提到的JavaScript正则表达式实战应用的各个方面。 首先,匹配结尾的数字是正则表达式的一个常用功能。在JavaScript中,可以使用正则表达式/\d+$/g来实现。这个表达式可以找到字符串中最后一个...

    javaScript正则表达式讲解用ppt

    掌握这些知识点后,开发者可以利用JavaScript的正则表达式功能进行复杂的文本操作,提高代码的效率和灵活性。无论是数据验证、文本处理还是字符串操作,正则表达式都是JavaScript程序员不可或缺的工具。

    Javascript正则表达式测试网页.rar

    JavaScript正则表达式是网页开发中的重要工具,用于处理文本数据的验证、查找、替换等操作。在网页制作过程中,熟练掌握正则表达式能够极大地提高代码效率和灵活性。本压缩包“Javascript正则表达式测试网页.rar”...

    JavaScript常用正则表达式

    正则表达式在JavaScript中的应用非常广泛,熟练掌握其语法和常用模式对于提高代码的健壮性和效率至关重要。通过不断实践和学习,开发者可以创建出更复杂的正则表达式,以应对各种数据验证和文本处理的需求。

    源码(精通正则表达式&实战正则表达式)

    本资源“源码(精通正则表达式&实战正则表达式)”专注于JavaScript环境下的正则表达式学习,通过一系列视频教程和配套源码,帮助开发者提升对正则表达式的理解和应用能力。 首先,"精通正则表达式五部视频"可能涵盖...

    JavaScript正则表达式工具

    JavaScript正则表达式工具是一种基于JavaScript开发的应用程序,旨在帮助开发者和编程爱好者更方便地理解和使用正则表达式。在编程领域,正则表达式(Regular Expression)是一种强大的文本处理工具,广泛应用于字符...

    三目运算符+正则表达式

    在编程世界中,三目运算符和正则表达式是两个非常重要的概念,它们各自扮演着独特的角色,同时也常被结合起来使用,以提高代码的简洁性和效率。让我们深入探讨这两个主题。 首先,三目运算符,也称为条件运算符,是...

    使用正则表达式验证一年的12个月份

    在提供的压缩包文件"076"中,可能包含了用于演示或练习这个正则表达式的代码或数据。通过学习和理解这个例子,开发者可以加深对正则表达式的掌握,并提升在实际项目中的应用能力。无论是在网页表单验证、服务器端...

    JavaScript正则表达式迷你书(1.1版)

    JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理...通过学习《JavaScript正则表达式迷你书(1.1版)》,读者将能够熟练掌握正则表达式在JavaScript中的运用,从而提高开发效率和代码质量。

    javascript正则表达式模糊匹配IP地址功能示例.docx

    本文主要介绍了javascript正则表达式模糊匹配IP地址的功能示例,结合简洁实例形式演示了JS模糊匹配IP地址的实现方法,涉及针对数字及字符串的相关正则判定与匹配操作技巧。 一、javascript正则表达式模糊匹配IP地址...

    通过正则表达式生成数据

    2. **利用编程语言**:大多数编程语言如Python、Java、JavaScript等都内置了正则表达式的支持,并提供了方法来生成符合正则表达式的随机字符串。例如,Python的`re`模块配合`random.choice`或`random.choices`可以...

    javascript正则表达式详解

    熟练掌握JavaScript正则表达式能够极大地提升你的编程效率和代码质量。 综上所述,JavaScript正则表达式是一门深奥但实用的技术,涵盖了许多概念和技巧。通过不断学习和实践,你可以更好地利用正则表达式解决各种...

Global site tag (gtag.js) - Google Analytics