对于身份证号码的正则表达式是怎样验证其有效性?

解决方案 »

  1.   

    //身份证正则表达式(15位) 
    isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/; 
    //身份证正则表达式(18位) 
    isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/; 
      

  2.   

    给你一个方法吧 // '---此函数用来检验身份证号码的正确性(15位或18位都可以)
    // '---此函数的参数:e为输入要检验的身份证号码,ee返回正确的身份证号码,如果输入的身份证号码不正确,则ee返回空值,Birth返回出生日期
    // '---此函数带有返回值,输入要检验的身份证号码正确,则返回True,否则返回False
    // 返回:=0表示 正确
    // =1表示 身份证号码不是15位或18位
    // =2表示 身份证除最后一位外,必须为数字!
    // =3表示 身份证的出生日期不正确
    // =4表示 身份证号码输入错误
    public static int checkCardID(String e) {
    String arrVerifyCode[];
    String wi[];
    // String checker[];
    String str;
    String ai = null;
    // '---身份证的校验码(要记住,不能写错)
    str = "1,0,X,9,8,7,6,5,4,3,2";
    arrVerifyCode = str.split(",");
    str = "7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2";
    wi = str.split(",");
    str = "1,9,8,7,6,5,4,3,2,1,1";
    // checker = str.split(",");
    e = e.trim();
    // '---判断身份证号码的长度为15位或18位
    if ((e.length() < 15) || (e.length() == 16) || (e.length() == 17)
    || (e.length() > 18)) {
    return 1;
    }
    if (18 == e.length()) {
    ai = e.substring(0, 17);
    } else if (15 == e.length()) {
    ai = e;
    ai = ai.substring(0, 6) + "19" + ai.substring(6, 15);
    } // '---判断身份证除最后一位外,必须为数字
    if (!isNumberic(ai)) {
    // MsgBox "身份证除最后一位外,必须为数字!"
    return 2;
    }
      

  3.   

    IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/
    Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
    Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/,
    Mobile : /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/,
    Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^\"\"])*$/,
    IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/,
    Currency : /^\d+(\.\d+)?$/,
    Number : /^\d+$/,
    Zip : /^[1-9]\d{5}$/,
    QQ : /^[1-9]\d{4,8}$/,
    Integer : /^[-\+]?\d+$/,
    Double : /^[-\+]?\d+(\.\d+)?$/,
    English : /^[A-Za-z]+$/,
    Chinese : /^[\u0391-\uFFE5]+$/,
    Username : /^[a-z]\w{3,}$/i,
    UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}\?\\\/\'\"]*)|.{0,5})$|\s/,