要是新的18位的就用
^\d{6}(\d{8})\d+$
15位的改一下
^\d{6}(\d{6})\d+$

解决方案 »

  1.   

    var id = "431224198602102012";
    var date = id.substring(6,14);
    var year = date.substring(0,4);
    var month = date.substring(4,6);
    var day = date.substring(6,8);
    alert([year,month,day]);这是偶的15位身份证号,就这样取一下吧...
    自己看看结果...
      

  2.   

    身份证号是其输入到数据库中值。我如何验证呢。
    if (document.gr.certificate.value.length!=15 && document.gr.certificate.value.length!=18)如何其年龄大于20岁,就报错。{window.alert ("请输入正确的身份证号!")
    请问这条语句怎么写呀
    var str=document.gr.certificate.value
    str.substr(7,4)<1985
    这样写不行呀?