JS验证身份证的正则表达式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS验证身份证的正则表达式?相关的知识,希望对你有一定的参考价值。

1,要验证是否是15位或18位的;
2,要验证出生日期是否正确;
出生年份在【1900】-【2000】吧!

我有一个:可以有些情况出错
/([1-6]\d5(19|20)\d\d(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d3[0-9xX])|([1-6]\d5\d\d(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d3)/

18位身份证:
先用这个表达式取出出生年份
\\d6(\\d4)\\d8
$1就是四位的年份,比如1986
在用这个表达式判断是不是在1900-2000之间
(19\\d2|2000)

15位身份证,这种身份证1900和2000是区分不出来的,这种身份证年份只用后两位表示
先用这个表达式取出出生年份
\\d6(\\d2)\\d7
$1就是二位的年份,比如86
在用这个表达式判断是不是在1900-2000之间
\\d2

这是主要的方法,细节就不写啦,呵呵,我还有活,祝你好运
参考技术A \d15|\d18
这个只能验证位数,至于出生日期,很难判断
参考技术B 楼主能不能将出生日期正确的标准定义一下

我觉得单用正则似乎无法判断出生日期的正确性

期待高人

怎么用js正则验证文本框只能输入中文和英文

js 只包含中文和英文

/**
 * 只包含中文和英文
 * @param cs
 * @returns Boolean
 */
function isGbOrEn(value)
    var regu = "^[a-zA-Z\\u4e00-\\u9fa5]+$";
    var re = new RegExp(regu);
    if (value.search(re) != -1)
      return true;
     else 
      return false;
    

--------------------- 

作者:dongsir 董先生 

来源:CSDN 

版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,转载时请标注 https://blog.csdn.net/qq6759/article/details/88118913

参考技术A

js验证只包含中文和英文

--------------------------

/**
 * 只包含中文和英文
 * @param cs
 * @returns Boolean
 */
function isGbOrEn(value)
    var regu = "^[a-zA-Z\\u4e00-\\u9fa5]+$";
    var re = new RegExp(regu);
    if (value.search(re) != -1)
      return true;
     else 
      return false;
    

--------------------- 

作者:dongsir 董先生 

来源:CSDN 

原文:https://blog.csdn.net/qq6759/article/details/88118913 

版权声明:本文为博主原创文章,转载请附上博文链接!

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

本回答被提问者采纳

以上是关于JS验证身份证的正则表达式?的主要内容,如果未能解决你的问题,请参考以下文章

js如何正则验证密码

js 正则验证不能含有中文与特殊字符

怎么用js正则验证文本框只能输入中文和英文

正则表达式如何验证身份证号?

验证身份证号码的正确正则表达式

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