常用JS验证函数总结
js的常用函数
js的常用函数(原创实用版)目录一、JavaScript 函数分类二、常规函数1.alert 函数2.confirm 函数3.escape 函数4.eval 函数5.isNaN 函数6.parseFloat 函数7.parseInt 函数三、数组函数四、日期函数五、数学函数六、字符串函数正文JavaScript 是一种广泛应用于网页开发的编程语言,其中的函数是其重要的组成部分。
JavaScript 函数可以根据其用途和特性分为五类,包括常规函数、数组函数、日期函数、数学函数和字符串函数。
一、JavaScript 函数分类1.常规函数:这类函数主要用于处理一些常见的任务,如显示警告对话框、确认对话框、转换字符编码等。
2.数组函数:这类函数主要用于处理数组数据,包括数组的创建、修改、遍历等操作。
3.日期函数:这类函数主要用于处理日期和时间相关的任务,如获取当前日期、格式化日期等。
4.数学函数:这类函数主要用于执行一些数学运算,如计算平方根、绝对值、乘法等。
5.字符串函数:这类函数主要用于处理字符串数据,包括字符串的创建、修改、遍历等操作。
二、常规函数1.alert 函数:用于显示一个带有 OK 按钮的警告对话框。
2.confirm 函数:用于显示一个带有 OK 和 Cancel 按钮的确认对话框。
3.escape 函数:用于将特殊字符转换为对应的 Unicode 编码。
4.eval 函数:用于计算一个表达式的结果。
5.isNaN 函数:用于测试一个值是否为非数字。
6.parseFloat 函数:用于将一个字符串转换为浮点数。
7.parseInt 函数:用于将一个字符串转换为整数。
以上就是 JavaScript 中的常用函数大全,包括常规函数、数组函数、日期函数、数学函数和字符串函数。
js 6位验证码 验证函数 -回复
js 6位验证码验证函数-回复关于JavaScript的6位验证码验证函数在网络信息时代,为了确保用户的信息安全和防止恶意攻击,许多网站都引入了验证码功能。
验证码是一种能够识别人类行为和计算机程序行为的技术,常用于验证用户身份和防止恶意的自动化程序。
验证码通常由一串随机生成的字符或数字组成,并且要求用户通过输入正确的验证码才能继续访问或进行某些操作。
其中,常用的验证码长度是6位。
在本文中,我们将介绍如何编写一个用于验证6位验证码的JavaScript 函数。
首先,我们需要明确函数的输入和输出。
输入是待验证的验证码,输出则是一个布尔值,表示验证码是否正确。
接下来,让我们一步一步回答如何实现这个验证码验证函数。
步骤一:创建函数框架我们可以首先创建一个函数,命名为verifyCode,它接受一个参数code 作为输入,代码如下:javascriptfunction verifyCode(code) {验证码验证逻辑将在这里编写}步骤二:检查验证码长度我们知道验证码的长度是6位,所以我们需要检查输入的验证码是否满足这个要求。
如果不满足,我们可以直接返回false,表示验证码错误。
代码如下:javascriptfunction verifyCode(code) {if (code.length !== 6) {return false;}验证码验证逻辑将在这里编写}步骤三:检查验证码是否包含非数字字符接下来,我们需要检查验证码是否只包含数字字符。
如果验证码中包含除数字以外的字符,那么我们也应该返回false。
我们可以使用正则表达式来检查是否只包含数字字符。
代码如下:javascriptfunction verifyCode(code) {if (code.length !== 6 !/^\d+/.test(code)) {return false;}验证码验证逻辑将在这里编写}步骤四:编写验证码验证逻辑验证码验证的逻辑可以根据具体的需求而有所不同。
js 验证 常用正则
js 验证常用正则JavaScript是一个非常强大的脚本语言,它是web开发中最广泛使用的语言之一。
它可以用于开发交互式网页以及许多其他应用程序。
JavaScript中的正则表达式是非常重要的,它可以用来验证用户输入的数据,例如电子邮件、电话号码、日期、时间等等。
在这篇文章中,我们将探讨一些常用的JavaScript正则表达式。
1. 验证电子邮件首先,我们来讨论一下如何验证一个电子邮件地址。
在JavaScript中,我们可以使用正则表达式来实现这个功能。
首先,我们需要一个包含电子邮件地址的字符串:```javascriptvaremail="*******************";```然后,我们需要一个正则表达式来验证电子邮件地址。
下面是一个简单的正则表达式,可以匹配大部分电子邮件地址:```javascriptvar emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;```现在,我们可以使用test()方法,将我们的电子邮件地址和正则表达式传递给它来验证电子邮件地址:```javascriptif (emailPattern.test(email)) {console.log("Valid email address");} else {console.log("Invalid email address");}```2. 验证电话号码下一个正则表达式,我们将探讨如何验证电话号码。
在JavaScript中,我们可以使用正则表达式来验证电话号码。
首先,我们需要一个包含电话号码的字符串:```javascriptvar phoneNumber = "123-456-7890";```然后,我们需要一个正则表达式来验证电话号码。
下面是一个简单的正则表达式,可以匹配大部分电话号码:```javascriptvar phonePattern = /^\d{3}-\d{3}-\d{4}$/;```现在,我们可以使用test()方法,将我们的电话号码和正则表达式传递给它来验证电话号码:```javascriptif (phonePattern.test(phoneNumber)) {console.log("Valid phone number");} else {console.log("Invalid phone number");}```3. 验证日期最后,我们将探讨如何验证日期。
js数字字符串判断方法
js数字字符串判断方法判断一个字符串是否为数字可以使用多种方法。
以下是一些常见的方法:1. 使用isNaN函数,JavaScript中的isNaN函数可以用来判断一个值是否为NaN(非数字)。
当传入的参数无法被转换为数字时,isNaN函数返回true,否则返回false。
因此,可以利用这一特性来判断一个字符串是否为数字。
示例代码:javascript.function isNumeric(str) {。
return !isNaN(str);}。
console.log(isNumeric('123')); // true.console.log(isNumeric('abc')); // false.2. 使用正则表达式,可以使用正则表达式来判断一个字符串是否符合数字的格式。
例如,可以使用/^[-+]?[0-9]+(\.[0-9]+)?$/.test(str)来判断一个字符串是否为整数或浮点数。
示例代码:javascript.function isNumeric(str) {。
return /^[-+]?[0-9]+(\.[0-9]+)?$/.test(str);}。
console.log(isNumeric('123')); // true.console.log(isNumeric('abc')); // false.3. 使用parseInt或parseFloat函数,可以尝试使用parseInt或parseFloat函数将字符串转换为数字,然后判断转换后的结果是否为NaN。
如果不是NaN,则说明字符串是一个数字。
示例代码:javascript.function isNumeric(str) {。
return !isNaN(parseInt(str)) &&isFinite(parseFloat(str));}。
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是一个常用的表单校验插件,可以通过简单的配置来实现各种校验需求。
使用该插件可以方便地对表单进行校验,并提供了丰富的错误提示功能。
js 数值型 验证 正则
js 数值型验证正则
要使用正则表达式验证JavaScript中的数值类型,可以使用以下正则表达式:
整数类型:
```javascript
/^-?\d+$/
```
该正则表达式可以匹配整数,包括正整数、负整数和零。
浮点数类型:
```javascript
/^-?\d+(\.\d+)?$/
```
该正则表达式可以匹配浮点数,包括正浮点数、负浮点数和整数。
科学计数法表示的数值类型:
```javascript
/^-?\d+(\.\d+)?(e-?\d+)?$/
```
该正则表达式可以匹配科学计数法表示的数值,例如1.23e4、-5.67e-8等。
使用上述正则表达式时,可以通过`test()`方法来验证数值类型,例如:```javascript
var num = "123";
var regex = /^-?\d+$/;
if (regex.test(num)) {
console.log("Valid integer");
} else {
console.log("Invalid integer");
}
```
这将输出"Valid integer",表示该数值是合法的整数。
需要注意的是,正则表达式只能验证字符串是否符合特定的模式,而无法判断数值是否在特定的范围之内。
如果需要验证数值是否在特定范围内,可以使用数值比较运算符进行判断。
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验证格式大全
}
if(!isEnglish(.value)){
alert("英文名不合法!");
.focus();
returnfalse;
}
if(!isChinese(name.value)){
alert("中文名不合法!");
name.focus();
6.验证油箱格式
<SCRIPT LANGUAGE=javascript RUNAT=Server>
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
for(i =0;i<name.length;i++){
if(name.charCodeAt(i) >128)
returnfalse;
}
returntrue;
}
functionisChinese(name)//中文值检测
{
if(name.length == 0)
returnfalse;
for(i = 0; i < name.length;i++){
return true;
else
alert("oh");
}
</SCRIPT>
<input type=text onblur=isEmail(this.value)>
7.屏蔽关键字(这里屏蔽***和****)
js判断数组是否相等的方法
js判断数组是否相等的方法
要判断两个数组是否相等,可以使用多种方法。
下面我将列举几种常见的方法:
1. 逐一比较,可以编写一个函数来逐一比较两个数组中的每个元素,如果它们的元素和顺序都相同,则认为数组相等。
这种方法需要考虑元素的顺序和类型,比较起来比较繁琐,但可以确保数组完全相等。
2. 使用JSON.stringify(),可以使用JSON.stringify()方法将数组转换为字符串,然后比较两个数组的字符串表示形式。
如果两个数组包含相同的元素且顺序相同,则它们的JSON字符串表示形式也相同。
这种方法简单直接,但不能处理包含循环引用的数组。
3. 使用循环和indexOf()方法,可以使用循环遍历一个数组,并使用indexOf()方法在另一个数组中查找相同的元素。
如果两个数组的长度相同且每个元素在另一个数组中都有对应的匹配,则认为它们相等。
这种方法比较灵活,可以处理无序的数组。
4. 使用ES6的方法,在ES6中,可以使用数组的every()方法
和includes()方法来判断两个数组是否相等。
通过比较每个元素是
否在另一个数组中,并且数组的长度相同,可以判断它们是否相等。
总的来说,要判断两个数组是否相等,需要考虑元素的顺序、
类型以及数组本身的特性。
根据具体的需求,可以选择合适的方法
来进行判断。
js 6位验证码 验证函数
主题:js 6位验证码验证函数内容:随着互联网的发展,验证码在我们的生活中扮演着越来越重要的角色。
在全球信息站注册、登入、找回密码等流程中,验证码的作用是不可替代的。
其中,6位验证码是一种常见的形式,它通常用于验证用户的身份,保护用户信息的安全。
在实际开发中,我们经常需要编写js代码来实现这一功能。
本文将介绍如何使用js编写一个简单的6位验证码验证函数。
一、生成6位随机验证码在编写验证码验证函数之前,我们首先需要生成一个6位的随机验证码。
在js中,我们可以借助Math.random()方法来生成随机数,并通过一定的处理得到6位验证码。
以下是一种常见的实现方式:```javascriptfunction generateCode() {var code = '';for (var i = 0; i < 6; i++) {code += Math.floor(Math.random() * 10);}return code;}```上面的代码定义了一个generateCode函数,该函数内部通过循环生成了6位随机数字,并将其拼接成一个字符串,最终返回生成的验证码。
调用generateCode()函数即可获取一个6位随机验证码。
二、编写验证码验证函数有了生成6位随机验证码的基础,接下来我们来编写验证码验证函数。
验证码验证函数的作用是判断用户输入的验证码是否与生成的验证码一致。
下面是一个简单的验证码验证函数的实现:```javascriptfunction validateCode(input, code) {if (input === code) {return true;} else {return false;}}```上面的代码定义了一个validateCode函数,该函数接受两个参数,分别是用户输入的验证码和生成的验证码。
函数内部通过比较这两个值的大小,如果相等则返回true,否则返回false。
js常用正则表达式表单验证代码(最全面)
js 常用正则表达式表单验证代码方法一:var re=/正则表达式/;re.test($("txtid").val())方法二:$("txtid").val.match(/正则表达式/);附:验证数字的正则表达式集(转载)验证数字:^[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地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$验证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。
常用的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 校验公式
在JavaScript中,您可以使用正则表达式来校验公式。
这通常取决于您需要校验的公式的具体格式。
以下是一个基本的例子,它使用正则表达式来校验一个简单的算术表达式(如 3 + 5):
```javascript
function isValidExpression(expression) {
// 正则表达式,用于匹配简单的算术表达式
// \d+ 表示一个或多个数字
// \+ 表示加号
// \s 表示零个或多个空格
var regex = /^\d+\s\+\s\d+$/;
// test() 方法用于测试字符串是否匹配正则表达式
return (expression);
}
(isValidExpression("3 + 5")); // 输出: true
(isValidExpression("3 + 5 +")); // 输出: false
```
这个函数将返回 `true` 如果输入的字符串是一个有效的算术表达式,否则返回 `false`。
这只是一个简单的例子,如果您需要更复杂的校验,可能需要编写更复杂的正则表达式。
另外,请注意,JavaScript 的正则表达式对一些特殊字符(如 `` 和 `/`)的处理可能与您预期的不同。
在正则表达式中,这些字符具有特殊含义,例如`` 表示零个或多个前一个字符,`/` 在很多情况下用作分隔符。
如果您想在表达式中使用这些字符的字面意义,您需要使用反斜杠 `\` 对它们进行转义。
例如,如果您想匹配一个包含 `/` 的字符串,您应该使用 `\/`。
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是一种广泛使用的编程语言,它具有许多常用的函数,这些函数可以帮助开发人员更轻松地完成任务。
在本文中,我们将介绍一些常用的JavaScript函数。
1. alert()alert()函数用于在浏览器中显示一个警告框,通常用于向用户显示一些重要的信息。
例如,当用户忘记填写必填字段时,可以使用alert()函数来提醒他们。
2. prompt()prompt()函数用于在浏览器中显示一个提示框,通常用于向用户询问一些信息。
例如,当用户需要输入他们的姓名时,可以使用prompt()函数来获取这些信息。
3. console.log()console.log()函数用于在浏览器的控制台中输出一些信息,通常用于调试JavaScript代码。
例如,当开发人员需要查看变量的值时,可以使用console.log()函数来输出这些值。
4. parseInt()parseInt()函数用于将字符串转换为整数。
例如,当开发人员需要将用户输入的字符串转换为数字时,可以使用parseInt()函数来完成这个任务。
5. parseFloat()parseFloat()函数用于将字符串转换为浮点数。
例如,当开发人员需要将用户输入的字符串转换为小数时,可以使用parseFloat()函数来完成这个任务。
6. Math.random()Math.random()函数用于生成一个随机数。
例如,当开发人员需要在游戏中生成一个随机数时,可以使用Math.random()函数来完成这个任务。
7. Math.round()Math.round()函数用于将一个数字四舍五入为最接近的整数。
例如,当开发人员需要将一个小数四舍五入为整数时,可以使用Math.round()函数来完成这个任务。
8. String.fromCharCode()String.fromCharCode()函数用于将Unicode编码转换为字符。
js非空校验方法
在JavaScript中,有多种方法可以用来检查一个值是否为空。
以下是一些常见的方法:1.使用==或===:if (value == null) {// value 是null 或undefined}2.或者使用严格比较:if (value === null) {// value 是null} else if (value === undefined) {// value 是undefined}使用typeof:if (typeof value === 'undefined') {// value 是undefined}3.使用Object.prototype.toString.call():这个方法可以用来检测基本类型和null:if (Object.prototype.toString.call(value) === '[object Undefined]') { // value 是undefined} else if (Object.prototype.toString.call(value) === '[object Null]') { // value 是null}4.对于字符串,可以使用trim():如果一个字符串开始和结束都是空白字符,那么它实际上是空的。
所以,在检查字符串是否为空之前,可以先去除两端的空白字符:if (!value.trim()) {// value 是空字符串或只包含空白字符的字符串}5.对于数组或对象,可以使用length或size属性:对于数组或类数组对象,可以使用length属性来检查是否为空:if (value.length === 0) {// value 是空数组或类数组对象}对于对象,可以使用size属性(如果存在)或检查其是否为空:if (value.size === 0) { // 如果对象有size属性的话// value 是空对象或没有属性的对象} else if (Object.keys(value).length === 0) { // 否则,使用Object.keys()方法来检查对象的属性数量是否为0// value 是空对象或没有属性的对象}。
JS判断一个数组中是否有重复值的三种方法
JS判断一个数组中是否有重复值的三种方法在JavaScript中,我们可以使用多种方法来判断一个数组中是否有重复值。
下面列举了三种常见的方法,分别是:1. 使用Set:Set是ES6中引入的一种数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。
我们可以使用Set来验证一个数组中是否有重复的值。
```javascriptfunction hasDuplicateValue(arr)const set = new Set(arr);return set.size !== arr.length;```上述代码中,我们先使用Set对数组进行去重,然后比较去重后的数组长度和原数组长度是否相等,如果不相等则说明有重复的值。
2. 使用indexOf或lastIndexOf:JavaScript数组提供了indexOf 和lastIndexOf方法,可以用来查找元素在数组中的位置。
如果元素在数组中有重复,那么它的索引位置就不是唯一的。
```javascriptfunction hasDuplicateValue(arr)for (let i = 0; i < arr.length; i++)if (arr.indexOf(arr[i]) !== stIndexOf(arr[i]))return true;}}return false;```上述代码中,我们使用indexOf方法查找元素在数组中第一次出现的位置,使用lastIndexOf方法查找元素在数组中最后一次出现的位置。
如果这两个位置不相等,则说明元素在数组中有重复。
3. 使用Map:Map是一种有键值对组成的对象,可以用来存储唯一的键和对应的值。
我们可以使用Map来检测数组中是否有重复的值。
```javascriptfunction hasDuplicateValue(arr)const map = new Map(;for (let i = 0; i < arr.length; i++)if (map.has(arr[i]))return true;}map.set(arr[i], true);}return false;```上述代码中,我们使用Map来存储数组中的值,如果Map中已经存在相同的值,则说明数组中有重复。
JS常用校验函数
JS常⽤校验函数function isDigit(s){var patrn=/^[0-9]{1,20}$/;if (!patrn.exec(s)) return falsereturn true}function isRegisterUserName(s){var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;if (!patrn.exec(s)) return falsereturn true}function isTrueName(s){var patrn=/^[a-zA-Z]{1,30}$/;if (!patrn.exec(s)) return falsereturn true}function isPasswd(s){var patrn=/^(\w){6,20}$/;if (!patrn.exec(s)) return falsereturn true}function isTel(s){//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;if (!patrn.exec(s)) return falsereturn true}function isMobil(s){var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;if (!patrn.exec(s)) return falsereturn true}//校验邮政编码function isPostalCode(s){//var patrn=/^[a-zA-Z0-9]{3,12}$/;var patrn=/^[a-zA-Z0-9 ]{3,12}$/;if (!patrn.exec(s)) return falsereturn true}//校验搜索关键字function isSearch(s){var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/; if (!patrn.exec(s)) return falsereturn true}function isIP(s) //by zergling{var patrn=/^[0-9.]{1,20}$/;if (!patrn.exec(s)) return falsereturn true}/********************************************************************************** FUNCTION: isBetween* PARAMETERS: val AS any value* lo AS Lower limit to check* hi AS Higher limit to check* CALLS: NOTHING* RETURNS: TRUE if val is between lo and hi both inclusive, otherwise false. *********************************************************************************/function isBetween (val, lo, hi) {if ((val < lo) || (val > hi)) { return(false); }else { return(true); }}/********************************************************************************** FUNCTION: isDate checks a valid date* PARAMETERS: theStr AS String* CALLS: isBetween, isInt* RETURNS: TRUE if theStr is a valid date otherwise false.**********************************************************************************/ function isDate (theStr) {var the1st = theStr.indexOf('-');var the2nd = stIndexOf('-');if (the1st == the2nd) { return(false); }else {var y = theStr.substring(0,the1st);var m = theStr.substring(the1st+1,the2nd);var d = theStr.substring(the2nd+1,theStr.length);var maxDays = 31;if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {return(false); }else if (y.length < 4) { return(false); }else if (!isBetween (m, 1, 12)) { return(false); }else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;else if (m==2) {if (y % 4 > 0) maxDays = 28;else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;else maxDays = 29;}if (isBetween(d, 1, maxDays) == false) { return(false); }else { return(true); }}}/********************************************************************************** FUNCTION: isEuDate checks a valid date in British format* PARAMETERS: theStr AS String* CALLS: isBetween, isInt* RETURNS: TRUE if theStr is a valid date otherwise false.**********************************************************************************/ function isEuDate (theStr) {if (isBetween(theStr.length, 8, 10) == false) { return(false); }else {var the1st = theStr.indexOf('/');var the2nd = stIndexOf('/');if (the1st == the2nd) { return(false); }else {var m = theStr.substring(the1st+1,the2nd);var d = theStr.substring(0,the1st);var y = theStr.substring(the2nd+1,theStr.length);var maxDays = 31;if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {return(false); }else if (y.length < 4) { return(false); }else if (isBetween (m, 1, 12) == false) { return(false); }else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;else if (m==2) {if (y % 4 > 0) maxDays = 28;else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;else maxDays = 29;}if (isBetween(d, 1, maxDays) == false) { return(false); }else { return(true); }}}}/********************************************************************************* FUNCTION: Compare Date! Which is the latest!* PARAMETERS: lessDate,moreDate AS String* CALLS: isDate,isBetween* RETURNS: TRUE if lessDate<moreDate*********************************************************************************/ function isComdate (lessDate , moreDate){if (!isDate(lessDate)) { return(false);}if (!isDate(moreDate)) { return(false);}var less1st = lessDate.indexOf('-');var less2nd = stIndexOf('-');var more1st = moreDate.indexOf('-');var more2nd = stIndexOf('-');var lessy = lessDate.substrin(0,less1st);var lessm = lessDate.substring(less1st+1,less2nd);var lessd = lessDate.substring(less2nd+1,lessDate.length);var morey = moreDate.substring(0,more1st);var morem = moreDate.substring(more1st+1,more2nd);var mored = moreDate.substring(more2nd+1,moreDate.length);var Date1 = new Date(lessy,lessm,lessd);var Date2 = new Date(morey,morem,mored);if (Date1>Date2) { return(false);}return(true);}/********************************************************************************** FUNCTION isEmpty checks if the parameter is empty or null* PARAMETER str AS String**********************************************************************************/ function isEmpty (str) {if ((str==null)||(str.length==0)) return true;else return(false);}/********************************************************************************** FUNCTION: isInt* PARAMETER: theStr AS String* RETURNS: TRUE if the passed parameter is an integer, otherwise FALSE * CALLS: isDigit**********************************************************************************/ function isInt (theStr) {var flag = true;if (isEmpty(theStr)) { flag=false; }else{ for (var i=0; i<theStr.length; i++) {if (isDigit(theStr.substring(i,i+1)) == false) {flag = false; break;}}}return(flag);}/********************************************************************************** FUNCTION: isReal* PARAMETER: heStr AS StringdecLen AS Integer (how many digits after period)* RETURNS: TRUE if theStr is a float, otherwise FALSE* CALLS: isInt**********************************************************************************/function isReal (theStr, decLen) {var dot1st = theStr.indexOf('.');var dot2nd = stIndexOf('.');var K = true;if (isEmpty(theStr)) return false;if (dot1st == -1) {if (!isInt(theStr)) return(false);else return(true);}else if (dot1st != dot2nd) return (false);else if (dot1st==0) return (false);else {var intPart = theStr.substring(0, dot1st);var decPart = theStr.substring(dot2nd+1);if (decPart.length > decLen) return(false);else if (!isInt(intPart) || !isInt(decPart)) return (false);else if (isEmpty(decPart)) return (false);else return(true);}}/********************************************************************************** FUNCTION: isEmail* PARAMETER: String (Email Address)* RETURNS: TRUE if the String is a valid Email address* FALSE if the passed string is not a valid Email Address* EMAIL FORMAT: AnyName@EmailServer e.g; webmaster@* @ sign can appear only once in the email address.*********************************************************************************/function isEmail (theStr) {var atIndex = theStr.indexOf('@');var dotIndex = theStr.indexOf('.', atIndex);var flag = true;theSub = theStr.substring(0, dotIndex+1)if ((atIndex < 1)||(atIndex != stIndexOf('@'))||(dotIndex < atIndex + 2)||(theStr.length <= theSub.length)) { return(false); }else { return(true); }}/********************************************************************************** FUNCTION: newWindow* PARAMETERS: doc -> Document to open in the new windowhite -> Height of the new windowwide -> Width of the new windowbars -> 1-Scrll bars = YES 0-Scroll Bars = NOresize -> 1-Resizable = YES 0-Resizable = NO* CALLS: NONE* RETURNS: New window instance**********************************************************************************/function newWindow (doc, hite, wide, bars, resize) {var winNew="_blank";var pt="toolbar=0,location=0,directories=0,status=0,menubar=0,";opt+=("scrollbars="+bars+",");opt+=("resizable="+resize+",");opt+=("width="+wide+",");opt+=("height="+hite);winHandle=window.open(doc,winNew,opt);return;}/********************************************************************************** FUNCTION: DecimalFormat* PARAMETERS: paramValue -> Field value* CALLS: NONE* RETURNS: Formated string**********************************************************************************/function DecimalFormat (paramValue) {var intPart = parseInt(paramValue);var decPart =parseFloat(paramValue) - intPart;str = "";if ((decPart == 0) || (decPart == null)) str += (intPart + ".00");else str += (intPart + decPart);return (str);}"^\\d+$" //⾮负整数(正整数 + 0)"^[0-9]*[1-9][0-9]*$" //正整数"^((-\\d+)|(0+))$" //⾮正整数(负整数 + 0)"^-[0-9]*[1-9][0-9]*$" //负整数"^-?\\d+$" //整数"^\\d+(\\.\\d+)?$" //⾮负浮点数(正浮点数 + 0)"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //⾮正浮点数(负浮点数 + 0)"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数"^(-?\\d+)(\\.\\d+)?$" //浮点数"^[A-Za-z]+$" //由26个英⽂字母组成的字符串"^[A-Z]+$" //由26个英⽂字母的⼤写组成的字符串"^[a-z]+$" //由26个英⽂字母的⼩写组成的字符串"^[A-Za-z0-9]+$" //由数字和26个英⽂字母组成的字符串"^\\w+$" //由数字、26个英⽂字母或者下划线组成的字符串"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$" //email地址"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$" //url。
jsfilter函数
jsfilter函数JSFilter函数是一个JavaScript函数库,其主要功能是对用户输入的数据进行过滤和验证。
该函数库可以用于各种Web应用程序,包括表单验证、文件上传、数据库查询等。
JSFilter函数库包含了多个函数,每个函数都有不同的功能。
其中一些常用的函数包括:1. isEmail(email):验证一个字符串是否为合法的电子邮件地址。
2. isInt(number):验证一个字符串是否为整数。
3. isFloat(number):验证一个字符串是否为浮点数。
4. isDate(date):验证一个字符串是否为合法的日期格式。
5. isAlpha(string):验证一个字符串是否只包含字母。
6. isAlphanumeric(string):验证一个字符串是否只包含字母和数字。
7. stripTags(string):从一个字符串中去除HTML标签。
8. trim(string):去除字符串两端的空格。
9. escapeHTML(string):将HTML标签转义为实体字符。
10. unescapeHTML(string):将实体字符转义回HTML标签。
使用JSFilter函数库非常简单。
只需要在需要使用它的页面中引入jsfilter.js文件,并调用相应的函数即可。
例如,如果要验证用户输入的电子邮件地址是否合法,可以使用以下代码:if(!isEmail(email)){alert("请输入合法的电子邮件地址!");return false;}此外,JSFilter还支持自定义规则。
例如,如果要检查用户输入的密码是否符合特定规则(例如必须包含至少一个大写字母和一个数字),可以使用以下代码:var password = document.getElementById("password").value; if(!JSFilter.validate(password, [{rule: /[A-Z]/, message: "密码必须包含至少一个大写字母!"}, {rule: /\d/, message: "密码必须包含至少一个数字!"}])){alert("请输入符合规则的密码!");return false;}总之,JSFilter函数库是一个非常实用的工具,可以帮助开发人员轻松地验证和过滤用户输入的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随着做项目数量的越来越越多,其中用到js的地方很多相同,这里自己整理了一些常用表单验证的js方法,虽然和其他js验证框架有一定的差距,但是毕竟是自己总结的一些东西,在此与纪录分享一下。
JS验证/*** 2010-7-13* 贺臣* 情缘* js各种表单数据验证*//******************************************************************** ******************//*************************************数字的验证********************** *******************//******************************************************************** ******************//*** 检查输入的一串字符是否全部是数字* 输入:str 字符串* 返回:true 或 flase; true表示为数字*/function checkNum(str){return str.match(/\D/) == null;}/*** 检查输入的一串字符是否为小数* 输入:str 字符串* 返回:true 或 flase; true表示为小数*/function checkDecimal(str){if (str.match(/^-?\d+(\.\d+)?$/g) == null) {return false;}else {return true;}}/*** 检查输入的一串字符是否为整型数据* 输入:str 字符串* 返回:true 或 flase; true表示为小数*/function checkInteger(str){if (str.match(/^[-+]?\d*$/) == null) {return false;}else {return true;}}/**************************************************************************************//*************************************字符的验证********************** *******************//******************************************************************** ******************//*** 检查输入的一串字符是否是字符* 输入:str 字符串* 返回:true 或 flase; true表示为全部为字符不包含汉字*/function checkStr(str){if (/[^\x00-\xff]/g.test(str)) {return false;}else {return true;}}/*** 检查输入的一串字符是否包含汉字* 输入:str 字符串* 返回:true 或 flase; true表示包含汉字*/function checkChinese(str){if (escape(str).indexOf("%u") != -1) {return true;}else {return false;}}/*** 检查输入的邮箱格式是否正确* 输入:str 字符串* 返回:true 或 flase; true表示格式正确*/function checkEmail(str){if (str.match(/[A-Za-z0-9_-]+[@](\S*)(net|com|cn|org|cc|tv|[0-9] {1,3})(\S*)/g) == null) {return false;}else {return true;}}/*** 检查输入的手机号码格式是否正确* 输入:str 字符串* 返回:true 或 flase; true表示格式正确*/function checkMobilePhone(str){if (str.match(/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/) == null) { return false;}else {return true;}}/*** 检查输入的固定电话号码是否正确* 输入:str 字符串* 返回:true 或 flase; true表示格式正确*/function checkTelephone(str){if (str.match(/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))? $/) == null) {return false;}else {return true;}}/*** 检查QQ的格式是否正确* 输入:str 字符串* 返回:true 或 flase; true表示格式正确*/function checkQQ(str){if (str.match(/^\d{5,10}$/) == null) {return false;}else {return true;}}/*** 检查输入的身份证号是否正确* 输入:str 字符串* 返回:true 或 flase; true表示格式正确*/function checkCard(str){//15位数身份证正则表达式var arg1 = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3} $/;//18位数身份证正则表达式var arg2 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0 -1])((\d{4})|\d{3}[A-Z])$/;if (str.match(arg1) == null && str.match(arg2) == null) { return false;}else {return true;}}/*** 检查输入的IP地址是否正确* 输入:str 字符串* 返回:true 或 flase; true表示格式正确*/function checkIP(str){var arg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4] \d|25[0-5])$/;if (str.match(arg) == null) {return false;}else {return true;}}/*** 检查输入的URL地址是否正确* 输入:str 字符串* 返回:true 或 flase; true表示格式正确*/function checkURL(str){if (str.match(/(http[s]?|ftp):\/\/[^\/\.]+?\..+\w$/i) == null) { return false}else {return true;}}/*** 检查输入的字符是否具有特殊字符* 输入:str 字符串* 返回:true 或 flase; true表示包含特殊字符* 主要用于注册信息的时候验证*/function checkQuote(str){var items = new Array("~", "`", "!", "@", "#", "$", "%", "^", "& ", "*", "{", "}", "[", "]", "(", ")");items.push(":", ";", "'", "|", "\\", "<", ">", "?", "/", "<<", ">>", "||", "//");items.push("admin", "administrators", "administrator", "管理员", "系统管理员");items.push("select", "delete", "update", "insert", "create", "dro p", "alter", "trancate");str = str.toLowerCase();for (var i = 0; i < items.length; i++) {if (str.indexOf(items[i]) >= 0) {return true;}}return false;}/******************************************************************** ******************//*************************************时间的验证********************** *******************//******************************************************************** ******************//*** 检查日期格式是否正确* 输入:str 字符串* 返回:true 或 flase; true表示格式正确* 注意:此处不能验证中文日期格式* 验证短日期(2007-06-05)*/function checkDate(str){//var value=str.match(/((^((1[8-9]\d{2})|([2-9]\d{3}))(-)(10|12|0? [13578])(-)(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3})) (-)(11|0?[469])(-)(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d {3}))(-)(0?2)(-)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)(-)(0?2)(-) (29)$)|(^([3579][26]00)(-)(0?2)(-)(29)$)|(^([1][89][0][48])(-)(0?2)(-) (29)$)|(^([2-9][0-9][0][48])(-)(0?2)(-)(29)$)|(^([1][89][2468][048]) (-)(0?2)(-)(29)$)|(^([2-9][0-9][2468][048])(-)(0?2)(-)(29)$)|(^([1][8 9][13579][26])(-)(0?2)(-)(29)$)|(^([2-9][0-9][13579][26])(-)(0?2)(-)(29)$))/);var value = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);if (value == null) {return false;}else {var date = new Date(value[1], value[3] - 1, value[4]);return (date.getFullYear() == value[1] && (date.getMonth() + 1) == value[3] && date.getDate() == value[4]);}}/*** 检查时间格式是否正确* 输入:str 字符串* 返回:true 或 flase; true表示格式正确* 验证时间(10:57:10)*/function checkTime(str){var value = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/)if (value == null) {return false;}else {if (value[1] > 24 || value[3] > 60 || value[4] > 60) {return false}else {return true;}}}/*** 检查全日期时间格式是否正确* 输入:str 字符串* 返回:true 或 flase; true表示格式正确* (2007-06-05 10:57:10)*/function checkFullTime(str){//var value = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d {1,2}):(\d{1,2}):(\d{1,2})$/);var value = str.match(/^(?:19|20)[0-9][0-9]-(?:(?:0[1-9])|(?:1[0-2]))-(?:(?:[0-2][1-9])|(?:[1-3][0-1])) (?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]:[0-5][0-9]$/);if (value == null) {return false;}else {//var date = new Date(checkFullTime[1], checkFullTime[3] - 1, checkFullTime[4], checkFullTime[5], checkFullTime[6], checkF ullTime[7]);//return (date.getFullYear() == value[1] && (date.getMonth () + 1) == value[3] && date.getDate() == value[4] && date.getHours () == value[5] && date.getMinutes() == value[6] && date.getSeconds () == value[7]);return true;}}/******************************************************************** ******************//************************************身份证号码的验证****************** *******************//******************************************************************** ******************//*** 身份证15位编码规则:dddddd yymmdd xx p* dddddd:地区码* yymmdd: 出生年月日* xx: 顺序类编码,无法确定* p: 性别,奇数为男,偶数为女* <p />* 身份证18位编码规则:dddddd yyyymmdd xxx y* dddddd:地区码* yyyymmdd: 出生年月日* xxx:顺序类编码,无法确定,奇数为男,偶数为女* y: 校验码,该位数值可通过前17位计算获得* <p />* 18位号码加权因子为(从右到左) Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2,1 ]* 验证位 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]* 校验位计算公式:Y_P = mod( ∑(Ai×Wi),11 )* i为身份证号码从右往左数的 2...18 位; Y_P为脚丫校验码所在校验码数组位置**/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];// 身份证验证位值.1 0代表Xfunction IdCardValidate(idCard){idCard = trim(idCard.replace(/ /g, ""));if (idCard.length == 15) {return isValidityBrithBy15IdCard(idCard);}elseif (idCard.length == 18) {var a_idCard = idCard.split("");// 得到身份证数组if (isValidityBrithBy18IdCard(idCard) && isTrueValidateCo deBy18IdCard(a_idCard)) {return true;}else {return false;}}else {return false;}}/*** 判断身份证号码为18位时最后的验证位是否正确* @param a_idCard 身份证号码数组* @return*/function isTrueValidateCodeBy18IdCard(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];// 加权求和}valCodePosition = sum % 11;// 得到验证码所位置if (a_idCard[17] == ValideCode[valCodePosition]) {return true;}else {return false;}}/*** 通过身份证判断是男是女* @param idCard 15/18位身份证号码* @return 'female'-女、'male'-男*/function maleOrFemalByIdCard(idCard){idCard = trim(idCard.replace(/ /g, ""));// 对身份证号码做处理。