js验证身份证营业执照组织机构代码等
如何在JavaScript中实现表单的验证和数据校验

如何在JavaScript中实现表单的验证和数据校验表单的验证和数据校验在前端开发中是非常重要的一部分,它可以确保用户输入的数据格式正确,有效地减少后端的数据处理压力,同时也能提高用户体验。
在本文中,我们将探讨如何在JavaScript中实现表单的验证和数据校验,并提供一些实用的技巧和示例代码。
### 1.表单验证的重要性表单是网页中用户输入数据的一个重要部分,用户可以通过表单提交各种类型的数据,比如文本、数字、日期、邮箱等等。
然而,用户输入的数据并不总是符合预期的格式和要求,这时候我们就需要对表单进行验证和数据校验,以确保输入数据的准确性和完整性。
表单验证的重要性主要体现在以下几个方面:-数据准确性:通过对表单的验证和数据校验,可以确保用户输入的数据格式正确,有效的减少后端的数据处理压力。
-用户体验:当用户输入了不符合规范的数据时,通过及时的反馈和提醒,可以有效地提高用户体验。
-安全性:通过对用户输入的数据进行验证和过滤,可以防止恶意输入和攻击,提高系统的安全性。
### 2.表单验证的方法在JavaScript中,我们可以通过几种方法来实现对表单的验证和数据校验:-使用原生JavaScript:通过JavaScript的事件监听和表单元素的属性来实现表单验证和数据校验。
-使用第三方库:如jQuery Validation、VeeValidate等,这些库提供了丰富的表单验证和数据校验功能,并且使用起来较为方便。
-使用HTML5的表单验证:HTML5提供了一些新的表单元素和属性,比如input的type属性、maxlength属性、pattern属性等,可以方便地实现表单的验证。
在本文中,我们将重点介绍使用原生JavaScript来实现表单验证和数据校验的方法。
### 3.表单验证和数据校验的步骤实现表单验证和数据校验的主要步骤分为以下几个部分:-监听表单提交事件:当用户提交表单时,我们需要触发验证和数据校验的逻辑。
js几种常用的数据校验方法

js几种常用的数据校验方法在前端开发中,数据校验是非常重要的一环。
通过对用户输入的数据进行校验,可以有效地防止错误数据的提交,提高系统的安全性和稳定性。
下面将介绍几种常用的js数据校验方法。
1. 正则表达式校验正则表达式是一种强大的文本匹配工具,可以用来对字符串进行复杂的校验。
在js中,可以使用RegExp对象来创建正则表达式,并使用test()方法来进行匹配校验。
例如,可以使用正则表达式来校验手机号码的格式是否正确:```javascriptfunction validatePhone(phone) {var reg = /^1[3456789]\d{9}$/;return reg.test(phone);}```2. 内置校验方法在HTML5中,提供了一些内置的校验方法,可以直接在表单元素上使用。
例如,可以使用required属性来校验必填项,使用type属性来校验输入的数据类型。
例如,可以使用type="email"来校验邮箱地址的格式是否正确:```html<input type="email" required>```3. 自定义校验方法除了使用正则表达式和内置校验方法外,还可以自定义校验方法来满足特定的需求。
可以通过编写自定义函数来实现校验逻辑,并在需要校验的地方调用该函数。
例如,可以自定义一个校验密码强度的方法:```javascriptfunction validatePassword(password) {// 校验密码强度的逻辑// ...return true; // 返回校验结果}```4. 第三方库校验除了自己编写校验方法外,还可以使用一些第三方库来简化数据校验的过程。
例如,jQuery Validation是一个常用的表单校验插件,可以通过简单的配置来实现各种校验需求。
使用该插件可以方便地对表单进行校验,并提供了丰富的错误提示功能。
JavaScript正则表达式验证身份证号码是否合法(两种方法)讲解

JavaScript正则表达式验证身份证号码是否合法(两种方法)正则表达式(regular expression)是一个描述字符模式的对象。
下面通过本篇文章给大家介绍js正则表达式验证身份证号码是否合法,需要的朋友可以参考下本篇文章第一种方法:在用户注册页面有些需求要求的比较严格,需要对身份证js验证是否合法,通过此功能严格此系统软件,从而过滤到很多水客。
下面就此实现方法给大家讲解下。
很多时候我们都是通过一组正则表达式来判断用户输入的身份证是否合法,那在用正则表达式判断之前,你对身份证号的组成有多少了解呢?下面来说说一个身份证号里面包含了多少的信息:1、号码的结构公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。
排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
2、地址码(前六位数)表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按gb/T2260的规定执行。
3、出生日期码(第七位至十四位)表示编码对象出生的年、月、日,按gb/T7408的规定执行,年、月、日代码之间不用分隔符。
4、顺序码(第十五位至十七位)表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
5、校验码(第十八位数)作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位。
X是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。
在知道身份证号结构组成各部分的意思后,我们开始进入主题:1、定义一个全国地区的对象var aCity={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:"国外"}2、正则表达式判断第二种方法:6768697071727374757677787980818283848586位),皆为数字if(len == '15'){var re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/;var arr_data = obj.match(re_fifteen);var year = arr_data[2];var month = arr_data[3];var day = arr_data[4];var birthday = new Date('19'+year+'/'+month+'/'+day);return verifyBirthday('19'+year,month,day,birthday);}//身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为Xif(len == '18'){var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;var arr_data = obj.match(re_eighteen);var year = arr_data[2];var month = arr_data[3];var day = arr_data[4];var birthday = new Date(year+'/'+month+'/'+day);return verifyBirthday(year,month,day,birthday);}return false;。
js 正则校验方法

js 正则校验方法JS正则校验方法本文介绍了用于JavaScript中正则表达式校验的基本方法。
正则表达式是一种强大的工具,可以用于在字符串中查找、匹配和替换符合特定模式的文本。
通过使用正则表达式,我们可以轻松地验证用户输入的数据。
1. 使用test()方法test()方法是JavaScript中正则表达式对象的一个方法,用于测试一个字符串是否与指定的正则表达式匹配。
它返回一个布尔值,如果匹配成功返回true,否则返回false。
const regex = /pattern/; // 正则表达式(str); // 使用test()方法进行匹配2. 使用match()方法match()方法是JavaScript中字符串对象的一个方法,用于在字符串中查找与正则表达式匹配的子串。
它返回一个数组,包含所有匹配成功的子串。
如果没有匹配成功,则返回null。
(regex); // 使用match()方法进行匹配3. 使用exec()方法exec()方法是JavaScript中正则表达式对象的一个方法,用于检索字符串中与正则表达式匹配的结果。
它返回一个数组,包含第一个匹配成功的子串以及匹配的捕获组。
如果没有匹配成功,则返回null。
const regex = /pattern/; // 正则表达式(str); // 使用exec()方法进行匹配4. 使用search()方法search()方法是JavaScript中字符串对象的一个方法,用于搜索字符串中与正则表达式匹配的子串。
它返回第一个匹配成功的子串的索引位置。
如果没有匹配成功,则返回-1。
const regex = /pattern/; // 正则表达式(regex); // 使用search()方法进行匹配5. 使用replace()方法replace()方法是JavaScript中字符串对象的一个方法,用于将字符串中与正则表达式匹配的子串替换为指定的字符串。
js身份证号码验证(小程序版)

js⾝份证号码验证(⼩程序版)<view class='bgw'><form>......<view class='ipt-wrapper'><view class='ipt-l'>⾝份证</view><view class='ipt-r'><input type='text' placeholder='请输⼊您的⾝份证号' name="idcard" value='{{idcard}}' bindinput="bindIdcard"/><image src='{{icon}}' class='right-arrow'></image></view></view>.....</form></view><view class='submit' bindtap='submit'>提交预约</view><!-- 弹出层 --><view class='mask' wx:if="{{maskState}}" bindtap='hidelayer'></view><!-- 表单出错 --><view class='layer' wx:if="{{warnState}}"><image src='{{excitedicon}}' class='infoicon'></image><view class='info'>{{errorinfo}}</view><view class='btn-small' bindtap='hidelayer'>好的</view></view>....var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1]; // 加权因⼦var ValideCode = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2];Page({/*** 页⾯的初始数据*/data: {name: '',phone: '',idcard: '',errorinfo: '',maskState: false,warnState: false,},// 关闭弹出层hidelayer:function(){this.setData({maskState: false,warnState: false,errState: false,okState: false})},// 表单提交submit:function(){var idcard = this.data.idcard;var reg = /^1\d{10}$/;if (this.isBlank(idcard)) {this.setData({maskState: true,warnState: true,errorinfo: '⾝份证号不能为空'})return}if (!this.IdCardValidate(idcard)){this.setData({maskState: true,warnState: true,errorinfo: '⾝份证号格式错误'})return}},IdCardValidate:function (idCard) {idCard = this.trim(idCard.replace(/ /g, "")); //去掉字符串头尾空格if(idCard.length == 15) {return this.isValidityBrithBy15IdCard(idCard); //进⾏15位⾝份证的验证} else if (idCard.length == 18) {var a_idCard = idCard.split(""); // 得到⾝份证数组if (this.isValidityBrithBy18IdCard(idCard) && this.isTrueValidateCodeBy18IdCard(a_idCard)) { //进⾏18位⾝份证的基本验证和第18位的验证return true;} else {return false;}} else {return false;}},/*** 判断⾝份证号码为18位时最后的验证位是否正确* @param a_idCard ⾝份证号码数组* @return*/isTrueValidateCodeBy18IdCard:function(a_idCard) {var sum = 0; // 声明加权求和变量if (a_idCard[17].toLowerCase() == 'x') {a_idCard[17] = 10; // 将最后位为x的验证码替换为10⽅便后续操作}for (var i = 0; i < 17; i++) {sum += Wi[i] * a_idCard[i]; // 加权求和}var valCodePosition = sum % 11; // 得到验证码所位置if (a_idCard[17] == ValideCode[valCodePosition]) {return true;} else {return false;}},/*** 验证18位数⾝份证号码中的⽣⽇是否是有效⽣⽇* @param idCard 18位书⾝份证字符串* @return*/isValidityBrithBy18IdCard:function (idCard18) {var year = idCard18.substring(6, 10);var month = idCard18.substring(10, 12);var day = idCard18.substring(12, 14);var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));// 这⾥⽤getFullYear()获取年份,避免千年⾍问题if (temp_date.getFullYear() != parseFloat(year)|| temp_date.getMonth() != parseFloat(month) - 1|| temp_date.getDate() != parseFloat(day)) {return false;} else {return true;}},/*** 验证15位数⾝份证号码中的⽣⽇是否是有效⽣⽇* @param idCard15 15位书⾝份证字符串* @return*/isValidityBrithBy15IdCard:function (idCard15) {var year = idCard15.substring(6, 8);var month = idCard15.substring(8, 10);var day = idCard15.substring(10, 12);var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));// 对于⽼⾝份证中的你年龄则不需考虑千年⾍问题⽽使⽤getYear()⽅法if (temp_date.getYear() != parseFloat(year)|| temp_date.getMonth() != parseFloat(month) - 1|| temp_date.getDate() != parseFloat(day)) {return false;} else {return true;}},//去掉字符串头尾空格trim:function (str) {return str.replace(/(^\s*)|(\s*$)/g, "");},// 判断是否为空isBlank:function(_value) {if (_value == null || _value == "" || _value == undefined) {return true;}return false;},bindIdcard: function (e) {this.setData({idcard: e.detail.value})},})。
前端正则校验规则

前端正则校验规则
前端正则表达式校验规则如下:
1. 手机号格式验证: /^1[3-9]\d{9}$/;
2. 邮箱格式验证: /^[a-zA-Z0-9_-]+[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-
]+)+$/;
3. 密码强度验证:密码长度需在6-16位之间,且至少包含一位数字、一位大写字母和一位小写字母。
4. 身份证格式验证:中国身份证号码由15位或18位数字和大写英文字母
组成,其中18位身份证号码中的最后一位可以是数字或X。
5. 邮箱地址验证:邮箱地址应包含“”符号,且“”符号前后不能有空格或其他字符。
6. 数字验证:用于验证输入的内容是否为数字,可以指定一个范围,例如
0-999。
7. 英文大小写字母验证:用于验证输入的内容是否为英文大小写字母,可以指定一个范围,例如a-z或A-Z。
8. 中文字符验证:用于验证输入的内容是否为中文字符,可以指定一个范围,例如汉字。
9. 特殊字符验证:用于验证输入的内容是否包含特殊字符,例如!$%^&()等。
10. 日期格式验证:用于验证输入的日期格式是否正确,可以指定日期的格式,例如YYYY-MM-DD。
以上是一些常见的正则表达式校验规则,具体使用时需要根据实际需求进行调整和修改。
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){
前端开发中的表单验证和数据校验方法

前端开发中的表单验证和数据校验方法随着互联网的快速发展,前端开发在网站和应用程序的构建中起着至关重要的作用。
在用户与网站或应用程序进行交互时,表单验证和数据校验是确保数据的准确性和安全性的重要步骤。
以下是一些常用的表单验证和数据校验方法:一、前端表单验证方法1. 必填项验证:在表单提交之前,确保所有必填字段都已填写。
可以使用HTML5的"required"属性来标记必填字段。
若用户未填写必填字段,系统会自动提示并要求填写。
2. 邮箱验证:验证用户输入的邮箱地址是否合法。
可以使用正则表达式来匹配邮箱的格式,例如:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/3. 手机号验证:验证用户输入的手机号码是否合法。
可以使用正则表达式来匹配手机号码的格式,例如:/^1[3|4|5|7|8][0-9]\d{8}$/4. 密码验证:验证用户输入的密码是否符合要求。
可以设置一定的规则,如密码长度大于等于6位,同时包含字母和数字等。
5. 图片验证码:为了防止恶意行为和机器人攻击,可以要求用户输入一个图片验证码。
用户需要输入正确的验证码才能提交表单。
6. 表单重复提交限制:为了防止用户多次提交表单,可以通过禁用提交按钮来限制表单的多次提交。
二、前端数据校验方法1. 数据类型校验:校验用户输入的数据类型是否与预期一致。
可以使用JavaScript中的typeof运算符来判断数据类型,如:typeof value === 'string'、typeof value === 'number'等。
2. 数字范围校验:校验数值型数据是否在允许范围内。
通过比较用户输入的数值与设定的最小值和最大值来实现。
3. 数据长度校验:校验字符串类型的数据是否符合长度要求。
可以使用JavaScript内置的length属性来获取字符串长度,并与设定的长度进行比较。
常用的js验证数字

常用的js验证数字,电话号码,传真,邮箱,手机号码,邮编,日期1、数字function testisNum(object){var s =document.getElementById(object.id).value;if(s!=""){if(isNaN(s)){alert("请输入数字");object.value="";object.focus();}}}2、电话号码,传真//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”function isT el(object){//国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"var s =document.getElementById(object.id).value;var pattern =/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;//var pattern=/(^[0-9]{3,4}\-[0-9]{7,8}$)|(^[0-9]{7,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;if(s!=""){if(!pattern.exec(s)){alert('请输入正确的电话号码:电话号码格式为国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"');object.value="";object.focus();}}}3、邮箱function Check(object){var s =document.getElementById(object.id).value;var pattern =/^[a-zA-Z0-9_\-]{1,}@[a-zA-Z0-9_\-]{1,}\.[a-zA-Z0-9_\-.]{1,}$/;if(s!=""){if(!pattern.exec(s)){alert('请输入正确的邮箱地址');object.value="";object.focus();}}}4、手机号码//校验手机号码:必须以数字开头,除数字外,可含有“-”function isMobile(object){var s =document.getElementById(object.id).value;var reg0 = /^13\d{5,9}$/;var reg1 = /^153\d{4,8}$/;var reg2 = /^159\d{4,8}$/;var reg3 = /^0\d{10,11}$/;var my = false;if (reg0.test(s))my=true;if (reg1.test(s))my=true;if (reg2.test(s))my=true;if (reg3.test(s))my=true;if(s!=""){if (!my){alert('请输入正确的手机号码');object.value="";object.focus();}}}//校验日期function isdate(object){var s =document.getElementById(object.id).value;var pattern=/^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2] [0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\ /\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[ \-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$/;if(s!=""){if(!pattern.exec(s)){alert('请输入正确的日期');object.value="";object.focus();}}}5、邮编//校验(国内)邮政编码function isPostalCode(object){var s =document.getElementById(object.id).value;var pattern =/^[0-9]{6}$/;if(s!=""){if(!pattern.exec(s)){alert('请输入正确的邮政编码');object.value="";object.focus();}}}6、日期//校验日期function isdate(object){var s =document.getElementById(object.id).value;var pattern=/^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2] [0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\ /\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[ \-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$/;if(s!=""){if(!pattern.exec(s)){alert('请输入正确的日期');object.value="";object.focus();}}}一、清除空格String.prototype.trim = function()//去除空格{return this.replace(/(^[\s]*)|([\s]*$)/g, "");}二、检查一个字符串是否包含特殊字符/*功能:检查传入的字符串中是否包含特殊字符参数:str-要检查的字符串输出:"1"表示字符串不包含特殊字符,验证成功;否则返回"0"相关说明:空字符串可通过验证*/function CheckSpecialString(str){StringFilter = new Array ("'" ,"\\", ".", ",", ";", "/","<","}","%","*");//可以向StringFilter中添加要过滤的字符i=StringFilter.length;j=str.length;for (k=0;k<i;k++){for (m=0;m<j;m++){temp1=str.charAt(m);temp2=StringFilter[k];if (temp1==temp2){return 0;}}}return 1;}三、检查一个字符串是否为中文/*功能:检查传入的字符串是否为中文参数:str-要检查的字符串输出:true表示验证成功,false表示验证不成功相关说明:空字符串可以通过验证,且包含中文的特殊字符*/function IsChineseString(str){var pattern_cn = /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/gi;if(pattern_cn.test(str)){return true;}else{return false;}}四、检查一个字符串中是否包含全角空格/*功能:检查传入的字符串是否为中文参数:str-要检查的字符串输出:true表示验证成功(不饮食全解空格),false表示验证不成功相关说明:空字符串可以通过验证*/function FullSpace(str){var Reg = /\/;var booleanT = Reg.test(str);if (booleanT == true){return false;}return true;}五、比较两个字符串形式的日期大小/*比较两个字符串形式的日期大小功能:比较两个字符串形式的日期大小参数:firstDate-要检查日期字符串,字符串形式为"2007/05/08"或“2007-05-08”secondDate-要检查的日期字符串,字符串形式为"2007/05/08"或“2007-05-08”输出:true表示第一个日期大于第二个日期,false表示第二个日期大于或等于第一个日期相关说明:空字符串可以通过验证*/function DateExample(firstDate,secondDate){if ( firstDate.indexOf("-") > 0){firstDate = firstDate.replace(/-/g,"/") ;}if ( secondDate.indexOf("-") > 0){secondDate = secondDate.replace(/-/g,"/") ;}var FirstDate = new Date(Date.parse(firstDate)) ;var SecondDate = new Date(Date.parse(secondDate)) ;alert( FirstDate > SecondDate );}六、检查一个字符串是否为一个IP地地/*功能:检查传入的字符串是否为一个IP地址参数:str-要检查的字符串输出:true表示验证成功,false表示验证不成功相关说明:空字符串不可以通过验证*/function CheckIP(str){var Reg =/^([1-9]|[1-9]\d|1\d{2}|2[0-1]\d|22[0-3])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}$/;var booleanT = Reg.test(str);return booleanT ;}七、整除函数function Div(exp1, exp2){var n1 = Math.round(exp1); //四舍五入var n2 = Math.round(exp2); //四舍五入var rslt = n1 / n2; //除if (rslt >= 0){rslt = Math.floor(rslt); //返回值为小于等于其数值参数的最大整数值。
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>。
js validate常用验证方法

在JavaScript中,有几种常见的验证方法,包括:
1. 空值验证:使用`== null`或`=== null`来检查变量是否为空。
2. 邮箱格式验证:使用正则表达式进行匹配,如`/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/`。
3. 密码验证:检查密码是否包含至少一个大写字母、一个小写字母和一个数字,以及是否达到一定的长度。
4. 身份证号码验证:使用正则表达式进行匹配,如`/^\d{15}$|^\d{18}$|^\d{17}(\d|X|x)$/`。
5. 手机号验证:使用正则表达式进行匹配,如`/^1[3-9]\d{9}$/`。
6. 唯一性验证:检查一个值是否已经存在于数据库或其他数据源中。
7. 数据类型验证:使用`typeof`运算符来检查变量的类型。
8. 正则表达式验证:使用正则表达式进行匹配,适用于各种验证场景。
9. 自定义验证:根据具体需求编写自定义验证函数。
这些方法可以单独或组合使用,以实现更复杂的验证需求。
js身份证校验正则

js身份证校验正则JavaScript身份证校验正则:1、基本概念:身份证校验正则是指在使用JavaScript语言中,通过构建正则表达式的匹配规则来校验身份证号的合法性。
通过构建出正则表达式,可以对填写的 long string 或者number 有效地、高效地进行校验。
2、基本校验步骤:(1)长度验证:身份证号长度为15/18位;(2)检查省份格式:身份证号必须符合当前有效的省市编码表;(3)校验校检码:18位的身份证号码末位的校检码为安全码,校检位的计算方法是基于号码前17位的号码加权求和,然后进行11对应的校检码计算,最后与身份证的末尾一位相互照应,以及检验输入号码的真实性。
3、具体正则表达式:(1)身份证15位:^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$(2)身份证18位:^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$4、校验示例:(1)如果载入的是一个字符串:if (str.match(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/))//string is a valid IDelse//string is a invalid ID5、总结:JavaScript 身份证校验正则是网络开发中常用的一种解决方案,通过构建出正则表达式以及校检码的计算,可以对提交的身份证号码进行长度和省份格式的校验,以及基于算法的真实性检测,从而有效地确保身份证号正确性,实现安全管理及减少冗余数据的负担。
JS正则表达式验证(非常全)

JS正则表达式验证(⾮常全)<script type="text/javascript">function SubmitCk() {var reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;if (!reg.test($("#txtEmail").val())) {alert("请输⼊正确邮箱地址")return false;}}</script>验证数字的正则表达式集验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证⾄少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和⾮零开头的数字:^(0|[1-9][0-9]*)$验证有两位⼩数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位⼩数的正实数:^[0-9]+(.[0-9]{1,3})?$验证⾮零的正整数:^\+?[1-9][0-9]*$验证⾮零的负整数:^\-[1-9][0-9]*$验证⾮负整数(正整数 + 0) ^\d+$验证⾮正整数(负整数 + 0) ^((-\d+)|(0+))$验证长度为3的字符:^.{3}$验证由26个英⽂字母组成的字符串:^[A-Za-z]+$验证由26个⼤写英⽂字母组成的字符串:^[A-Z]+$验证由26个⼩写英⽂字母组成的字符串:^[a-z]+$验证由数字和26个英⽂字母组成的字符串:^[A-Za-z0-9]+$验证由数字、26个英⽂字母或者下划线组成的字符串:^\w+$验证⽤户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+验证汉字:^[\u4e00-\u9fa5],{0,}$验证Email地址:/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
JavaScript常用表单验证正则表达式(身份证、电话号码、邮编、日期、IP等)

JavaScript常⽤表单验证正则表达式(⾝份证、电话号码、邮编、⽇期、IP等)⾝份证正则表达式//⾝份证正则表达式(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{3}([0-9]|X)$/;地区、性别和⾝份证进⾏判断的正则表达式:<script>varaCity={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:”国外”}function cidInfo(sId){var iSum=0var info=”"if(!/^\d{17}(\d|x)$/i.test(sId))return false;sId=sId.replace(/x$/i,”a”);if(aCity[parseInt(sId.substr(0,2))]==null)return “Error:⾮法地区”;sBirthday=sId.substr(6,4)+”-”+Number(sId.substr(10,2))+”-”+Number(sId.substr(12,2));var d=new Date(sBirthday.replace(/-/g,”/”))if(sBirthday!=(d.getFullYear()+”-”+ (d.getMonth()+1) + “-” + d.getDate()))return “Error:⾮法⽣⽇”;for(var i = 17;i>=0;i –) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 – i),11)if(iSum%11!=1)return “Error:⾮法证号”;return aCity[parseInt(sId.substr(0,2))]+”,”+sBirthday+”,”+(sId.substr(16,1)%2?”男”:”⼥”)}</script>————-正则表达式全集中国电话号码验证匹配形式如:0511-******* 或者021-******** 或者 021-********-555 或者 (0511)4405222正则表达式 “((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*”中国邮政编码验证匹配形式如:215421正则表达式 “d{6}”电⼦邮件验证匹配形式如:justali@正则表达式 “w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*”⾝份证验证匹配形式如:15位或者18位⾝份证正则表达式 “d{18}|d{15}”常⽤数字验证正则表达式“d{n}” n为规定长度“d{n,m}” n到m的长度范围⾮法字符验证匹配⾮法字符如:< > & / ‘ |正则表达式 [^<>&/|'\]+⽇期验证匹配形式如:20030718,030718范围:1900–2099正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}正则表达式是⼀个好东西,但是⼀般情况下,我们需要验证的内容少之⼜少。
JS使用正则表达式验证身份证号码

JS使⽤正则表达式验证⾝份证号码废话不多说了,先给⼤家看⼀段代码吧function isCardNo(card){// ⾝份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后⼀位是校验位,可能为数字或字符Xvar reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;if(reg.test(card) === false){alert("⾝份证输⼊不合法");return false;}} 最近的项⽬中⽤的需要调⽤实名认证的接⼝,实名认证接⼝价格相⽐短信⽽⾔⾼了不是⼏分钱,所以说调⽤实名认证的条件就要严格把关,因此⽤到js验证真实姓名与js验证⾝份证号。
进⼊正题 js验证真实姓名,是⽤的unicode字符的来进⾏匹配,⽽中国⼈的姓名长度⼀般都是2-4,所以重复匹配{2,4}次1.js验证真实姓名var regName =/^[\u4e00-\u9fa5]{2,4}$/;if(!regName.test(name)){alert(‘真实姓名填写有误‘);return false;}js验证⾝份证号,中国的⾝份证号,⼀代⾝份证号是15位的数字,⼆代⾝份证都是18位的,最后⼀位校验位除了可能是数字还可能是‘X‘或‘x‘,所以有四种可能性:a.15位数字 b.18位数字 c.17位数字,第⼗⼋位是‘X‘ d.17位数字,第⼗⼋位是‘x‘2.js验证⾝份证号var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;if(!regIdNo.test(idNo)){alert(‘⾝份证号填写有误‘);return false;}以上所述是⼩编给⼤家介绍的JS使⽤正则表达式验证⾝份证号码,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
在此也⾮常感谢⼤家对⽹站的⽀持!。
js常用证件类型的正则表达式 -回复

js常用证件类型的正则表达式-回复有关于常用证件类型的JS正则表达式的文章。
1. 什么是正则表达式?正则表达式是一种用来描述字符串模式的工具。
它是一个字符序列,可以用于匹配、查找或替换字符串中符合特定模式的部分。
JavaScript中的正则表达式通过RegExp对象实现。
2. 为什么要使用正则表达式?正则表达式具有强大的字符串处理能力,可以帮助我们高效地解决一些常见的字符串处理问题。
例如,我们可以使用正则表达式来验证输入的数据是否符合特定的格式要求,比如邮件地址、电话号码等。
在开发中,正则表达式经常用来进行表单验证、字符串过滤、文本搜索等操作。
3. 常用的证件类型在实际开发中,我们经常需要对用户输入的证件类型进行验证。
常见的证件类型包括id、护照、驾驶证等。
下面,我们将通过编写正则表达式来验证这些证件类型。
# 3.1 id号码id号码是我们最常见的证件类型。
它通常由18位字符组成,前17位是数字,最后一位可以是数字或字母(X代表10)。
以下是用于验证id号码的正则表达式:javascriptvar idCardReg = /(^\d{15}) (^\d{18}) (^\d{17}(\d X x))/;# 3.2 护照号码护照号码是用于识别持有人身份的国际旅行文件。
不同国家的护照号码格式可能略有不同,但一般都由字母和数字组成。
以下是用于验证护照号码的正则表达式:javascriptvar passportReg = /^[A-Z]\d{8}/;# 3.3 驾驶证号码驾驶证号码是用于证明个人驾驶资格的证件。
不同地区的驾驶证号码格式可能略有不同,但一般都由字母和数字组成。
以下是用于验证驾驶证号码的正则表达式:javascriptvar driverLicenseReg = /^[A-Za-z0-9]{12,18}/;# 3.4 其他证件类型除了id、护照和驾驶证,还有许多其他常用的证件类型,比如港澳通行证、台胞证等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
switch (sum){
case 0:{
res="1";
break;
}
case 1:{
res="0";
break;
}
case 2:{
res="X";
break;
}
case 3:{
var a =new Array();
var sum=0;
for(var i=0;i<17;i++){
a.push(idCard.substring(i,i+1));
sum+=parseInt(a[i],10)*parseInt(w[i],10);
//alert(a[i]);
}
sum%=11;
var length=temp.length;
//alert("length= "+length+",name="+temp[length-1]);
var ret=false;
var typeName=temp[length-1];//fileName.substring(fileName.length-4);
*以下说明来自于网络:
*我国现行的营业执照上的注册号都是15位的,不存在13位的,从07年开始国
*家进行了全面的注册号升级就全部都是15位的了,如果你看见的是13位的注
*册号那肯定是假的。
*15位数字的含义,代码结构工商注册号由14位数字本体码和1位数字校验码
*组成,其中本体码从左至右依次为:6位首次登记机关码、8位顺序码。
break;
}
case 8:{
res="4";
break;
}
case 9:{
res="3";
break;
}
case 10:{
res="2";
var intVal = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35];
var crcs =[3,7,9,10,5,8,4,2];
if(!(""==orgCode) && orgCode.length==10){
ret=pattern.test(idCard);
}*/
return ret;
}
/**
*验证图片类型(jpg,jpeg,png,gif)
*/
function isValidImageType(fileName){
var temp=fileName.split(".");
break;
}
}
sum+=valI*crcs[i];
}
var crc=11- (sum % 11);
switch (crc){
case 10:{
crc="X";
break;
}default:{
break;
}
}
//alert("crc="+crc+",inputCrc="+orgCode.substring(9));
res="9";
break;
}
case 4:{
res="8";
break;
}
case 5:{
res="7";
break;
}
case 6:{
res="6";
break;
}
case 7:{
res="5";
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);
* 一、前六位代表的是工商行政管理机关的代码,国家工商行政管理总局用
* “100000”表示,省级、地市级、区县级登记机关代码分别使用6位行
* 政区划代码表示。设立在经济技术开发区、高新技术开发区和保税区
* 的工商行政管理机关(县级或县级以上)或者各类专业分局应由批准
}
//alert("fileName="+fileName+",typeName="+typeName);
else if("jpg"==typeName || "png"==typeName || "gif"==typeName || "jpeg"==typeName){
var sum=0;
for(var i=0;i<8;i++){
var codeI=orgCode.substring(i,i+1);
var valI=-1;
for(var j=0;j<codeVal.length;j++){
if(codeI==codeVal[j]){
valI=intVal[j];
* 赋码,8位顺序码中的第1位(自左至右)采用以下分配规则:
* 1)内资各类企业使用“0”、“1”、“2”、“3”;
* 2)外资企业使用“4”、“5”;
* 3)个体工商户使用“6”、“7”、“8”、“9”。
var sum=0;
var s=[];
var p=[];
var a=[];
var m=10;
p[0]=m;
for(var i=0;i<busCode.length;i++){
a[i]=parseInt(busCode.substring(i,i+1),m);
序码,
*最后一位为根据GB/T 17710 1999(ISO 7064:1993)的混合系统校验位生成算法
*计算得出。此方法即是根据此算法来验证最后一位校验位是否政正确。如果
*最后一位校验位不正确,则认为此营业执照号不正确(不符合编码规则)。
ret=true;
}
return ret;
}
/**
*验证组织机构代码是否合法:组织机构代码为8位数字或者拉丁字母+“-”+1位校验码。
*验证最后那位校验码是否与根据公式计算的结果相符。
*编码规则请参看
*/view/d615800216fc700abb68fc35.html
/**检验身份证号码是否合法
15位身份证号码组成:
ddddddyymmddxxs共15位,其中:
dddddd为6位的地方代码,根据这6位可以获得该身份证号所在地。
yy为2位的年份代码,是身份证持有人的出身年份。
其他部分都和15位的相同。年份代码由原来的2位升级到4位。最后一位为校验位。
校验规则是:
(1)十七位数字本体码加权求和公式
S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和
Ai:表示第i位置上的身份证号码数字值
Wi:表示第i位置上的加权因子
Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
mm为2位的月份代码,是身份证持有人的出身月份。
dd为2位的日期代码,是身份证持有人的出身日。
这6位在一起组成了身份证持有人的出生日期。
xx为2位的顺序码,这个是随机数。
s为1位的性别代码,奇数代表男性,偶数代表女性。
18位身份证号码组成:ddddddyyyymmddxxsp共18位,其中:
* 设立的上级机关统一赋予工商行政管理机关代码,并报国家工商行政
* 管理总局信息化管理部门备案。
* 二、顺序码是7-14位,顺序码指工商行政管理机关在其管辖范围内按照先
* 后次序为申请登记注册的市场主体所分配的顺序号。为了便于管理和
(2)计算模
Y = mod(S, 11)
(3)通过模得到对应的校验码
Y: 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2
也就是说,如果得到余数为1则最后的校验位p应该为对应的0.如果校验位不是,则该身份证号码不正确。
**/
function isValidIdCard(idCard){