`
KG21
  • 浏览: 107596 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

校验用的正则表达式(JS)

阅读更多
//校验是否全由数字组成
function isDigit(s)
{
    var patrn=/^[0-9]{1,20}$/;
    if (!patrn.exec(s)) return false
    return true
}

//校验登录名:只能输入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
}

//校验用户姓名:只能输入1-30个以字母开头的字串
function isTrueName(s)
{
    var patrn=/^[a-zA-Z]{1,30}$/;
    if (!patrn.exec(s)) return false
    return true
}

//校验密码:只能输入6-20个字母、数字、下划线
function isPasswd(s)
{
    var patrn=/^(\w){6,20}$/;
    if (!patrn.exec(s)) return false
    return true
}

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(s)
{
    //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
    var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
    if (!patrn.exec(s)) return false
    return true
}


//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(s)
{
    var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
    if (!patrn.exec(s)) return false
    return true
}


//校验邮政编码
function isPostalCode(s)
{
    //var patrn=/^[a-zA-Z0-9]{3,12}$/;
    var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
    if (!patrn.exec(s)) return false
    return true
}

//校验是否IP地址
function isIP(s) //by zergling
{
    var patrn=/^[0-9.]{1,20}$/;
    if (!patrn.exec(s)) return false
    return true
}


//校验搜索关键字
function isSearch(s)
{
    var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,19}$/;
    if (!patrn.exec(s)) return false
    return true
}


//身份证校验
function checkID(id){
      var idNum = id;
      //alert(idNum);
      var errors=new Array(
       "验证通过",
       "身份证号码位数不对",
       "身份证含有非法字符",
       "身份证号码校验错误",
       "身份证地区非法"
      );
         //身份号码位数及格式检验
         var re;
         var len = idNum.length;
         //身份证位数检验
         if(len != 15 && len != 18){
       return errors[1];
            }else if(len == 15){
             re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
            }else{
             re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})([0-9xX])$/);
            }

      var area={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 idcard_array = new Array();
        idcard_array = idNum.split("");
      
        //地区检验
        if(area[parseInt(idNum.substr(0,2))]==null) {
         return errors[4];
        }
      
    
        
          //出生日期正确性检验
          var a = idNum.match(re);
        
          if (a != null){
            if (len==15){
              var DD = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
              var flag = DD.getYear()==a[3]&&(DD.getMonth()+1)==a[4]&&DD.getDate()==a[5];
            }
            else if(len == 18){
              var DD = new Date(a[3]+"/"+a[4]+"/"+a[5]);
              var flag = DD.getFullYear()==a[3]&&(DD.getMonth()+1)==a[4]&&DD.getDate()==a[5];
            }
        
            if (!flag) {
             return "身份证出生日期不对!";
            }                     
          
            //检验校验位
            if(len == 18){
              S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
              + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
              + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
              + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
              + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
              + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
              + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
              + parseInt(idcard_array[7]) * 1
              + parseInt(idcard_array[8]) * 6
              + parseInt(idcard_array[9]) * 3 ;
            
              Y = S % 11;
              M = "F";
              JYM = "10X98765432";
              M = JYM.substr(Y,1);//判断校验位
            
              //检测ID的校验位
              if(M == idcard_array[17]){
               return "";
              }
              else{
               return errors[3];
              }
       }
         
          }else{
            return errors[2];
          }
          return "";
}
 

 


"^\\d+$"   //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$"   //正整数
"^((-\\d+)|(0+))$"   //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"   //负整数
"^-?\\d+$"     //整数
"^\\d+( \\.\\d+)?$ "   //非负浮点数(正浮点数 + 0)
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"   //正浮点数
"^((-\\d+( \\.\\d+)?)|(0+(\\.0+)?))$ "   //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"   //负浮点数
"^(-?\\d+)( \\.\\d+)?$ "   //浮点数
"^[A-Za-z]+$"   //由26个英文字母组成的字符串
"^[A-Z]+$"   //由26个英文字母的大写组成的字符串
"^[a-z]+$"   //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"   //由数字和26个英文字母组成的字符串
"^\\w+$"   //由数字、26个英文字母或者下划线组成的字符串
"^[\\w-]+( \\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$ "     //email地址
"^[a-zA-z]+://( \\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$ "   //url
"^[A-Za-z0-9_]*$"

分享到:
评论

相关推荐

    正则表达式(日期校验)

    该示例展示了如何使用正则表达式来校验一个基本的日期格式(YYYY-MM-DD),并通过JavaScript的Date对象来进行进一步的校验,确保日期的真实有效性。 ```javascript function isDate(str) { // 正则表达式:YYYY-MM...

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

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

    邮箱校验正则表达式

    在给定的示例代码中,我们可以看到使用JavaScript来实现邮箱校验正则表达式的验证。首先,我们需要获取用户输入的邮箱地址,然后使用正则表达式来判断输入的字符串是否符合邮箱地址的格式。如果输入的字符串不符合...

    jq非空验证,js正则表达式验证邮箱和手机号码

    在本案例中,我们关注的是使用jQuery(jq)进行非空验证,以及使用JavaScript(js)的正则表达式来验证邮箱和手机号码的正确性。以下是关于这些知识点的详细说明: 1. **jQuery(jq)非空验证**: jQuery是一种轻...

    正则表达式校验身份证号码

    通过以上介绍,我们可以看到使用正则表达式进行身份证号码的简单校验是一种快速有效的方法,而复杂的校验则能够进一步确保身份证号码的合理性和合法性。在实际应用中,可以根据不同的需求选择合适的校验策略。

    正则表达式验证金额格式

    下面是一段JavaScript代码示例,展示如何使用上述正则表达式验证输入: ```javascript function validateAmount(amountStr) { const regex = /^-?[0-9]+(\.[0-9]{1,2})?$/; return regex.test(amountStr); } ...

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

    在实际应用中,通常会结合编程语言来使用这些正则表达式。例如,在JavaScript中,你可以用`test()`函数来验证输入: ```javascript const regex = /^(0?[1-9]|1[0-2])$/; // 或者更复杂的版本 const input = "05"; ...

    正则表达式 JS 身份证验证

    ### 正则表达式 JS 身份证验证详解 身份证号码在中国大陆地区具有唯一性,是个人身份的重要标识。为了确保信息安全和个人隐私保护,在很多应用系统中都需要对身份证号码进行合法性和格式性的验证。本文将详细阐述...

    只验证数字和字母的正则表达式

    在提供的示例代码中,我们看到一个简单的登录页面,其中包含了一个名为 `AA` 的 JavaScript 函数,该函数用于验证用户输入的用户名是否符合上述正则表达式的规则。 ```javascript function AA() { var name = ...

    三目运算符+正则表达式

    比如,在一个输入验证功能中,我们可以用三目运算符判断用户输入是否为空,然后根据结果使用正则表达式进行进一步的验证: ```javascript let input = document.getElementById('emailInput').value; let isValid =...

    正则表达式调试工具

    正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索替换和文本处理...使用这款工具,开发者可以更好地理解和运用正则表达式,提升软件开发的精准度和效率。

    JavaScript正则表达式验证身份证号码是否合法(两种方法)分析.docx

    在JavaScript中,我们可以使用正则表达式来实现身份证号码的验证。 身份证号码的结构 身份证号码是由十七位数字本体码和一位校验码组成的。其中,前六位数字是地址码,表示编码对象常住户口所在县(市、旗、区)的...

    正则表达式判断密码强度

    在Web应用开发中,例如"WebApplication2"这样的项目,可以利用前端验证(如JavaScript)和后端验证(如服务器端语言如Java、Python等)双重校验密码强度,以提供更高的安全性。前端验证可以即时反馈给用户,而后端...

    js正则表达式校验数字、email、身份证号等

    js正则表达式校验数字、email、身份证号等

    validate校验正则表达式验证

    在本主题“validate校验正则表达式验证”中,我们主要探讨如何利用validate库进行正则表达式的校验工作,以及如何结合自定义的正则表达式进行数据验证。 validate库通常提供了一系列预定义的验证规则,其中包括对...

    javascript数据校验正则表达式

    本文将深入探讨如何在JavaScript中使用正则表达式进行数据校验。 在JavaScript中,正则表达式主要用于测试一个字符串是否符合特定模式,从而判断其有效性。例如,我们可以使用正则表达式来检查电子邮件地址、电话...

    报表工具FineReport正则表达式定义规则

    在JavaScript中使用正则表达式时,需要在正则表达式前后加上“/”。例如,验证手机号码是否合法的表达式为`/^1(3\d|5[36789])\d{8}$/`。 #### 五、总结 通过以上介绍,我们可以看到正则表达式在报表工具FineReport...

    各种正则表达式验证有数字英文中文符号

    标题与描述概述的知识点主要集中在正则表达式的应用上,涉及了多种常见数据类型的验证,如时间、数字、中文字符等。以下是对这些知识点的详细解释: ### 正则表达式验证规则 #### 1. **任意非空字符串验证** ```...

    用于前台验证正则表达式文档

    在前端开发中,正则表达式是进行数据校验的关键技术,确保用户输入的数据符合特定格式,从而提高应用的安全性和用户体验。 1. **正则表达式基础** - **字符类**:用于表示一组字符,如`[abc]`匹配'a'、'b'或'c'。 ...

    JS的正则表达式进行验证

    在JavaScript(JS)中,正则表达式同样发挥着不可或缺的作用,尤其是在用户输入验证方面,能够极大地提高程序的健壮性和用户体验。 ### 标题解析:“JS的正则表达式进行验证” 标题直接点明了文章的主题,即利用...

Global site tag (gtag.js) - Google Analytics