全国身份证及港澳台身份证验证js代码、函数。
js判断输入是否中文,数字,身份证等等js函数

用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
}else if(c=="-"&&str.length==1){
return false;
}
}else if(c < "0" || c > "9"){
return false;
}
}
return true;
}
/*
英文判断函数,返回true表示是全部英文,返回false表示不全部是英文
return false;
}
}
return true;
}
/*
身份证判断函数,是返回true,不是返回false
15位数字,18位数字或者最后一位为X(大写)
*/
function isSFZ(str){
if(""==str){
return false;
*/
function isXZ(str){
if(""==str){
return false;
}
var reg = /^[1-6](\.5)?$/;
var r = str.match(reg);
身份证正则表达式

身份证正则表达式
身份证正则表达式是一种用来检测身份证号码是否有效的工具。
它可以帮助确保输入的身份证号码是正确的,也可以排除输入的错误格式的身份证号码。
身份证正则表达式是一种简单的技术,可以帮助程序员在用户输入时检测身份证号码的有效性。
在中国,身份证正则表达式有一种特殊的格式,它必须包含18位数字,其中前17位是数字,最后一位是字母(X)。
身份证正则表达式的正确格式可以用正则表达式(regex)来表示,如:[0-9]{17}[0-9X]。
此外,身份证正则表达式也可以用来检查身份证号码的有效性,比如检查身份证号码中的出生日期是否正确,检查身份证号码的数字是否正确,以及检查身份证号码的最后一位是否为X(大写)。
另外,身份证正则表达式还可以用来检查身份证号码是否属于特定的地区,比如说检查身份证号码是否为特定省份的身份证号码,以及检查身份证号码是否为特定城市的身份证号码。
总而言之,身份证正则表达式是一种简单而有效的工具,可以帮助程序员检测身份证号码的有效性,以及确定身份证号码属于哪个地区。
它是在实现身份验证系统中非常重要的一环,可以提高用户的安全性和安全性。
java证件号正则

java证件号正则在Java中,验证证件号的正则表达式可以根据不同的证件类型进行匹配。
以下是一个通用的正则表达式,用于验证中国大陆居民的身份证号:```javaString regex = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2|3|4|5|6|7|8|9])\\d{3}) $";```这个正则表达式匹配的是18位身份证号,其中包括:1. 前6位:地区代码2. 接下来4位:出生年份3. 然后2位:出生月份4. 接着2位:出生日期5. 最后4位:顺序码,其中最后一位为校验码要使用这个正则表达式验证身份证号,你可以使用Java的`Pattern`和`Matcher`类:```javaimport java.util.regex.Matcher;import java.util.regex.Pattern;public class IDCardValidator {public static void main(String[] args) {StringidCard=*******************";String regex = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2|3|4|5|6|7|8|9])\\d{3}) $";Pattern pattern = pile(regex);Matcher matcher = pattern.matcher(idCard);if (matcher.matches()) {System.out.println("身份证号有效");} else {System.out.println("身份证号无效");}}}请注意,这个正则表达式仅适用于中国大陆的身份证号。
JS正则表达式验证身份证号码

JS正则表达式验证⾝份证号码1. function isCardNo(card)2. {3. // ⾝份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后⼀位是校验位,可能为数字或字符X4. var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;5. if(reg.test(card) === false)6. {7. alert("⾝份证输⼊不合法");8. return false;9. }10. } 最近的项⽬中⽤的需要调⽤实名认证的接⼝,实名认证接⼝价格相⽐短信⽽⾔⾼了不是⼏分钱,所以说调⽤实名认证的条件就要严格把关,因此⽤到js验证真实姓名与js验证⾝份证号。
进⼊正题 js验证真实姓名,是⽤的unicode字符的来进⾏匹配,⽽中国⼈的姓名长度⼀般都是2-4,所以重复匹配{2,4}次1.js验证真实姓名1. var regName =/^[\u4e00-\u9fa5]{2,4}$/;2. if(!regName.test(name)){3. alert('真实姓名填写有误');4. return false;5. }js验证⾝份证号,中国的⾝份证号,⼀代⾝份证号是15位的数字,⼆代⾝份证都是18位的,最后⼀位校验位除了可能是数字还可能是'X'或'x',所以有四种可能性:a.15位数字 b.18位数字 c.17位数字,第⼗⼋位是'X' d.17位数字,第⼗⼋位是'x'2.js验证⾝份证号1. var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;2. if(!regIdNo.test(idNo)){3. alert('⾝份证号填写有误');4. return false;5. }。
js验证身份证营业执照组织机构代码等

}*/
return ret;
}
/**
*验证图片类型(jpg,jpeg,png,gif)
*/
function isValidImageType(fileName){
**/
function isValidIdCard(idCard){
var ret=false;
var w=[7 ,9,10,5,8,4,2, 1,6, 3, 7, 9 ,10, 5 ,8 ,4, 2];
if(idCard.length == 18){
//身份证号码长度必须为18,只要校验位正确就算合法
var crc=idCard.substring(17);
var a =new Array();
var sum=0;
for(var i=0;i<17;i++){
case 10:{
res="2";
break;
}
}
if(crc.toLowerCase()==res.toLowerCase()){
break;
}
case 9:{
res="3";
break;
}
}
case 2:{
res="X";
break;
}
case 3:{
res="9";
ret=true;
}
//ret=true;
}
/*
else if(idCard.length == 15){
验证回乡证正则表达式

验证回乡证正则表达式回乡证是指中国内地居民在港澳地区及台湾地区探亲、访友、旅游、经商、就业等活动时所使用的一种证件。
为了方便对回乡证进行验证,我们可以使用正则表达式来进行匹配。
正则表达式是一种用来描述、匹配或者替换一系列符合某个句法规则的字符串的方法。
下面我们就来编写一个验证回乡证正则表达式的例子。
我们需要了解回乡证的基本信息。
回乡证的号码是由8位数字组成,前两位是省份代码,第三位是性别代码,后五位是顺序码。
其中,省份代码是指回乡证持有人所属的省份,性别代码是指持有人的性别,顺序码是指回乡证的编号。
根据上述信息,我们可以编写以下正则表达式来验证回乡证:^[1-9]\d{7}$解析正则表达式:^:表示匹配字符串的开始位置[1-9]:表示第一位数字是1到9之间的任意一个\d{7}:表示后面跟着7个数字$:表示匹配字符串的结束位置这个正则表达式的含义是,回乡证号码必须以1到9之间的数字开头,后面跟着7个数字,并且没有其他字符。
下面我们来进行一些测试,以验证这个正则表达式的准确性:测试用例1:12345678结果:不匹配测试用例2:A1234567结果:不匹配测试用例3:11011234结果:匹配测试用例4:123456789结果:不匹配通过以上测试,我们可以得出结论:这个正则表达式可以准确地验证回乡证号码是否符合规定。
总结:本文介绍了如何使用正则表达式来验证回乡证号码。
通过编写一个简单的正则表达式,我们可以轻松地判断一个字符串是否符合回乡证的号码格式。
正则表达式的强大功能可以帮助我们快速、准确地进行数据匹配和验证。
希望本文对大家理解回乡证的验证过程有所帮助。
JS-计算身份证校验码(最后一位)

JS-计算⾝份证校验码(最后⼀位)<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>#msg{color: red;}</style></head><body>⾝份证号:<input id="id-card" type="text">(前17位)<br>(校验位)最后⼀位为:<span id="msg"></span><span id="check-digit"></span><br><button onclick="calculate()">计算</button><br><script>"use strict";// 前17位每项的系数let coefficient = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];// 除11取余的结果对应的校验位(最后⼀位)的值let checkDigitMap = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];function calculate(){var idCard = document.querySelector("#id-card");var checkDigit = document.querySelector("#check-digit");var msg = document.querySelector("#msg");var sum = 0;checkDigit.innerHTML = msg.innerHTML = "";if(idCard.value.length < 17){msg.innerHTML = "⾄少输⼊⾝份证前17位";return}for (var i = 0; i < 17; i++) {sum += idCard.value[i] * coefficient[i];}checkDigit.innerHTML = checkDigitMap[sum % 11];}</script></body></html>。
用VBA构建身份证验证函数

用VBA构建身份证验证函数同学们在用VBA构建用户管理系统时,需要收集用户信息,在采集用户信息时,经常会遇到身份证信息输入混乱的情况,有的用户胡乱输入、有的输入明显错误,如何对身份证信息进行校验,规范输入信息呢?本节深入探讨用VBA代码进行身份证校验。
身份证号码的编码规则身份证号码共18位,由17位本体码和1位校验码组成。
1.前6位是地址码,表示登记户口时所在地的行政区划代码,依照《中华人民共和国行政区划代码》国家标准(GB/T2260)的规定执行;2.7到14位是出生年月日,采用YYYYMMDD格式;3.15到17位是顺序码,表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编订的顺序号,顺序码的奇数分配给男性,偶数分配给女性,即第17位奇数表示男性,偶数表示女性;4.第18位是校验码,采用ISO 7064:1983, MOD 11-2校验字符系统。
一代身份证与二代身份证的区别在于:1.一代身份证是15位,二代身份证是18位;2.一代身份证出生年月日采用YYMMDD格式,二代身份证出生年月日采用YYYYMMDD格式;3.一代身份证无校验码,二代身份证有校验码。
1.区划代码校验首先,把从网上下载的行政区划代码放入名为“区划代码”的工作表中,此步骤主要是校验用户输入的前6位是否在区划代码中找到。
代码如下:arr = Worksheets("区划代码").Range("a1", Worksheets("区划代码").Range("a" & Rows.Count).End(xlUp))AreaCode = Mid(MyId, 1, 6) '提取身份证前6位IsCorrect = FalseFor i = 1 To UBound(arr)If CStr(arr(i, 1)) = AreaCode ThenIsCorrect = TrueExit ForEnd IfNextIf IsCorrect = False ThenIdCardCheck = "区划代码错误"Exit FunctionEnd If2.身份证的长度验证身份证字符长度应为18位或15位,其他长度的不符合要求If Not (Len(MyId) = 18 Or Len(MyId) = 15) ThenIdCardCheck = "身份信息位数不符合要求"Exit FunctionEnd If3.验证日期字符串是否合法(1)验证身份证信息中除最后一位是否含有字符,如果含有字符,说明不合法;(2)验证日期格式是否合法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
// 988058查号网,骗子号码查询(http:// )
//一下是验证身份证号码的js函数
function checkIdcard(idcard){
var Errors=new Array(
"验证通过!",
"身份证号码位数不对!",
"身份证号码出生日期超出范围或含有非法字符!",
"身份证号码校验错误!",
"身份证地区非法!"
);
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 retflag=false;
var idcard,Y,JYM;
var S,M;
var idcard_array = new Array();
idcard_array = idcard.split("");
//地区检验
if(area[parseInt(idcard.substr(0,2))]==null) return Errors[4];
//身份号码位数及格式检验
switch(idcard.length){
case 15:
if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) %
100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9] |[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
}
else {
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9] |[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
}
if(ereg.test(idcard))
return Errors[0];
else
{
return Errors[2];
}
break;
case 18:
//18位身份号码检测
//出生日期的合法性检查
//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[ 1-2][0-9]))
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1 [0-9]|2[0-8]))
if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 ))
{
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1 -9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式}
else
{
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1 -9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
}
if(ereg.test(idcard)){//测试出生日期的合法性
//计算校验位
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);//判断校验位
if(M == idcard_array[17]) return Errors[0]; //检测ID的校验位
else return Errors[3];
}
else return Errors[2];
break;
default:
return Errors[1];
break;
}
}。