常用javascript数据验证
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. 验证日期最后,我们将探讨如何验证日期。
javascript程序设计正则表达式应用-实现表单验证实验总结
javascript程序设计正则表达式应用-实现表单验证实验总结JavaScript程序设计正则表达式应用实现表单验证实验总结在Web开发中,表单验证是一个非常重要的环节,它可以帮助我们确保用户输入的数据符合我们的预期和要求。
而JavaScript的正则表达式是一种强大的工具,可以用来对用户输入进行有效的验证和筛选。
本文将基于表单验证的实验,一步一步介绍如何利用JavaScript正则表达式来实现表单验证,并对实验过程进行总结和评估。
第一步:实验目标和准备工作在开始实验之前,我们需要明确实验的目标和准备相关的材料和环境。
实验目标:使用JavaScript正则表达式来实现表单验证,并确保用户输入的数据符合预期和要求。
准备工作:1. 一个Web开发环境,例如Apache服务器和一个支持JavaScript的浏览器。
2. 一个包含HTML表单元素的网页文件,例如一个注册表单。
第二步:了解正则表达式的基本语法和规则在开始实验之前,我们需要对正则表达式的基本语法和规则有一定的了解。
简要介绍一下正则表达式的基本语法和常用规则:1. 字符匹配- 字符:直接匹配字符本身。
- 转义字符:使用'\'来转义特殊字符的匹配。
2. 特殊字符- 点号(.):匹配任意字符。
- 加号(+):匹配一个或多个前面的字符。
- 星号(*):匹配零个或多个前面的字符。
- 问号(?):匹配零个或一个前面的字符。
- 花括号({}):用于指定匹配数量的范围。
3. 字符类和取反- 字符类([...]):匹配方括号中的任意一个字符。
- 取反([^...]):匹配除了方括号中的任意一个字符以外的字符。
4. 边界匹配- 开始边界(^):匹配字符串的开头。
- 结束边界():匹配字符串的结尾。
5. 数量限定- 数字(\d):匹配一个数字字符。
- 非数字(\D):匹配一个非数字字符。
- 字母(\w):匹配一个字母字符。
- 非字母(\W):匹配一个非字母字符。
js正则判断是否为数字的方法
js正则判断是否为数字的方法【原创版4篇】篇1 目录1.介绍 JavaScript 正则表达式2.讲解如何使用正则表达式判断数字3.提供实例代码篇1正文一、JavaScript 正则表达式概述正则表达式(Regular Expression,简称 regex)是一种用于匹配字符串模式的字符集,通常用于文本搜索和数据提取等场景。
在 JavaScript 中,正则表达式广泛应用于验证输入、提取数据等功能。
二、如何使用正则表达式判断数字在 JavaScript 中,可以使用正则表达式来判断一个字符串是否为数字。
具体的方法是使用正则表达式的测试方法(如:test()),并传入相应的正则表达式作为参数。
下面是一个简单的示例,用于判断一个字符串是否为数字:```javascriptconst str = "12345";const regex = /^d+$/; //正则表达式,表示匹配全部数字if (regex.test(str)) {console.log("字符串是数字");} else {console.log("字符串不是数字");}```三、实例代码下面是一个完整的实例,用于判断用户输入的字符串是否为数字:```javascript// 获取用户输入const input = prompt("请输入一个数字:");// 判断输入是否为数字if (/^d+$/.test(input)) {console.log("输入的数字是:", input);} else {console.log("输入的不是数字,请重新输入");}```以上代码首先获取用户输入的字符串,然后使用正则表达式判断输入是否为数字。
如果输入为数字,则显示输入的数字;否则提示用户重新输入。
总结:在 JavaScript 中,我们可以使用正则表达式来判断一个字符串是否为数字。
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验证密码是否相同<html><head><script language="javascript">function check(){with(document.all){if(input1.value!=input2.value){//alert("两次密码不一致!");document.getElementById("see").style.display="block";setTimeout("javascript:document.getElementById('see').style.display='none';",2000);input1.value="";input2.value="";document.getElementById("input1").focus();}}}/*function check(){var value1=document.getElementById("input1").value;var value2=document.getElementById("input2").value;if(value1!=value2){//alert("123");document.getElementById("see").style.display="block";setTimeout("javascript:document.getElementById('see').style.display='none';",2000);document.getElementById("input1").value="";document.getElementById("input2").value="";document.getElementById("input1").focus();}}*/</script></head><form ><div><div><div>请输入密码:</div><input type="password" id="input1" name="input1"></div><div><div>请再次输入密码:</div><input type="password" id="input2" name="input2" onBlur="check()"><div style="display:none" id="see" name="see">两次密码不一致,请重输。
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数字校验正则
js数字校验正则1、前言在前端开发中,经常需要校验输入框中输入的内容是否为数字类型。
而JavaScript中提供了正则表达式的使用,可以方便地对数字进行校验。
接下来,本文将结合实例详细介绍JavaScript数字校验正则表达式的使用。
2、JavaScript数字校验正则表达式常见的数字校验正则表达式有以下三种:2.1、整数类型校验整数类型可以使用以下正则表达式:```/^-?\d+$/```其中:- ^ 表示以数字开头- -? 表示可有可无的负号- \d+ 表示一个或多个数字- $ 表示以数字结尾使用示例:```javascriptconst reg = /^-?\d+$/;console.log(reg.test('-1234')); // true console.log(reg.test('1234')); // trueconsole.log(reg.test('0')); // trueconsole.log(reg.test('12a3')); // false ```2.2、浮点数类型校验浮点数类型可以使用以下正则表达式:```/^-?\d+\.?\d{0,}$/```其中:- ^ 表示以数字开头- -? 表示可有可无的负号- \d+ 表示一个或多个数字- \.? 表示小数点可有可无- \d{0,} 表示零个或多个数字- $ 表示以数字结尾使用示例:```javascriptconst reg = /^-?\d+\.?\d{0,}$/;console.log(reg.test('-1234.56')); // true console.log(reg.test('1234.56')); // trueconsole.log(reg.test('0')); // trueconsole.log(reg.test('12a3.56')); // false ```2.3、正数类型校验正数类型可以使用以下正则表达式:```/^\d+\.?\d{0,}$/```其中:- ^ 表示以数字开头- \d+ 表示一个或多个数字- \.? 表示小数点可有可无- \d{0,} 表示零个或多个数字- $ 表示以数字结尾使用示例:```javascriptconst reg = /^\d+\.?\d{0,}$/;console.log(reg.test('1234.56')); // trueconsole.log(reg.test('0')); // trueconsole.log(reg.test('-1234.56')); // false```3、总结本文通过讲解JavaScript数字校验正则表达式,介绍了三种常见的数字类型校验方法,并配有详细的使用示例。
如何在JavaScript中实现表单验证和数据校验
如何在JavaScript中实现表单验证和数据校验表单验证和数据校验在JavaScript中是非常重要的,它们可以帮助我们确保用户在提交表单时输入有效的数据。
本文将介绍如何使用JavaScript实现表单验证和数据校验。
一、使用JavaScript实现表单验证在JavaScript中,可以使用一些常用的方法和技巧来验证表单的输入。
以下是实现表单验证的步骤:1.获取表单元素:首先,需要使用JavaScript选择器获取表单元素。
可以使用getElementById()、getElementsByTagName()或querySelector()等方法来获取表单元素。
2.添加事件监听器:接下来,可以使用addEventListener()方法为表单元素添加一个submit事件监听器。
这样,当用户提交表单时,可以触发相应的验证逻辑。
3.编写验证逻辑:在事件监听器中,可以编写一些验证逻辑。
例如,可以检查输入框是否为空、检查邮箱地址格式是否正确等。
可以使用正则表达式、条件语句等来实现不同的验证逻辑。
4.验证结果提示:最后,根据验证结果,可以使用alert()、innerHTML()或console.log()等方法来提示用户验证结果。
以下是一个示例代码,演示了如何使用JavaScript实现简单的表单验证:```javascript//获取表单元素var form = document.getElementById('myForm');//添加事件监听器form.addEventListener('submit', function(event) {//阻止表单默认提交行为event.preventDefault();//获取输入框的值var name = document.getElementById('name').value;//验证逻辑if (name === '') {alert('请输入姓名');} else {alert('提交成功');form.reset();}});```二、使用JavaScript实现数据校验除了表单验证,JavaScript还可以用于对数据进行校验。
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。
Javascript验证Validator.js使用全解
Javascript验证Validator.js使⽤全解⽂件Validator.jsValidator={Require : /.+/,Email : /^\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*$/,Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/,Mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/,Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"\"])*$/,IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/,Currency : /^\d+(\.\d+)?$/,Number : /^\d+$/,Zip : /^[1-9]\d{5}$/,QQ : /^[1-9]\d{4,8}$/,Integer : /^[-\+]?\d+$/,Do le : /^[-\+]?\d+(\.\d+)?$/,English : /^[A-Za-z]+$/,Chinese : /^[\Α-\¥]+$/,UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\’\"]*)|.{0,5})$|\s/,IsSafe : function(str){return !this.UnSafe.test(str);},SafeString : "this.IsSafe(val)",Limit : "this.limit(val.length,getAttribute(’min’), getAttribute(’max’))",LimitB : "this.limit(this.LenB(val), getAttribute(’min’), getAttribute(’max’))",Date : "this.IsDate(val, getAttribute(’min’), getAttribute(’format’))",Repeat : "val== document.getElementsByName(getAttribute(’to’))[0].val",Range : "getAttribute(’min’) < val&& val< getAttribute(’max’)",Compare : "pare(val,getAttribute(’operator’),getAttribute(’to’))",Custom : "this.Exec(val, getAttribute(’regexp’))",Group : "this.MustChecked(getAttribute(’name’), getAttribute(’min’), getAttribute(’max’))",ErrorItem : [document.forms[0]],ErrorMessage : ["The cause of failure as below : \t\t\t\t"],Validate : function(theform, mode){var obj = theform || event.srcElement;var count = obj.elements.length;this.ErrorMessage.length = 1;this.ErrorItem.length = 1;this.ErrorItem[0] = obj;for(var i=0;i<count;i++){with(obj.elements[i]){var _dataType = getAttribute("dataType";if(typeof(_dataType) == "object" || typeof(this[_dataType]) == "undefined" contin;this.ClearState(obj.elements[i]);if(getAttribute("require" == "false" && val== "" contin;switch(_dataType){case "Date" :case "Repeat" :case "Range" :case "Compare" :case "Custom" :case "Group" :case "Limit" :case "LimitB" :case "SafeString" :if(!eval(this[_dataType])) {this.AddError(i, getAttribute("msg");}break;default :if(!this[_dataType].test(val)){this.AddError(i, getAttribute("msg");}break;}}}if(this.ErrorMessage.length > 1){mode = mode || 1;var errCount = this.ErrorItem.length;switch(mode){case 2 :for(var i=1;i<errCount;i++)this.ErrorItem[i].style.color = "red";case 1 :alert(this.ErrorMessage.join("\n");this.ErrorItem[1].focus();break;case 3 :for(var i=1;i<errCount;i++){try{var span = document.createElement("SPAN";span.id = "__ErrorMessagePanel";span.style.color = "red";this.ErrorItem[i].parentNode.appendChild(span);span.innerHTML = this.ErrorMessage[i].replace(/\d+:/,"*";}catch(e){alert(e.description);}}this.ErrorItem[1].focus();break;default :alert(this.ErrorMessage.join("\n");break;}return false;}return tr;},limit : function(len,min, max){min = min || 0;max = max || Number.MAX_VAL;return min <= len && len <= max;},LenB : function(str){return str.replace(/[^\x00-\xff]/g,"**".length;},ClearState : function(elem){with(elem){if(style.color == "red"style.color = "";var lastNode = parentNode.childNodes[parentNode.childNodes.length-1];if(lastNode.id == "__ErrorMessagePanel"parentNode.removeChild(lastNode);}},AddError : function(index, str){this.ErrorItem[this.ErrorItem.length] = this.ErrorItem[0].elements[index];this.ErrorMessage[this.ErrorMessage.length] = this.ErrorMessage.length + ":" + str; },Exec : function(op, reg){return new RegExp(reg,"g".test(op);},compare : function(op1,operator,op2){switch (operator) {case "NotEq l":return (op1 != op2);case "GreaterThan":return (op1 > op2);case "GreaterThanEq l":return (op1 >= op2);case "LessThan":return (op1 < op2);case "LessThanEq l":return (op1 <= op2);default:return (op1 == op2);}},MustChecked : function(name, min, max){var groups = document.getElementsByName(name);var hasChecked = 0;min = min || 1;max = max || groups.length;for(var i=groups.length-1;i>=0;i--)if(groups[i].checked) hasChecked++;return min <= hasChecked && hasChecked <= max;},IsDate : function(op, formatString){formatString = formatString || "ymd";var m, year, month, day;switch(formatString){case "ymd" :m = op.match(new RegExp("^\\s*((");if(m == null ) return false;day = m[6];month = m[5]--;year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10));break;case "dmy" :m = op.match(new RegExp("^\\s*(");if(m == null ) return false;day = m[1];month = m[3]--;year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10));break;default :break;}var date = new Date(year, month, day);return (typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate());function GetFullYear(y){return ((y<30 ? "20" : "19" + y)|0;}}}js 代码使⽤:语法:dataType="Require | Chinese | English | Number | Integer | Dole | Email | Url | Phone | Mobile | Currency |Zip | IdCard | QQ | Date | SafeString | Repeat | Compare | Range | Limit | LimitB | Group | Custom"类型:。
请你讲一讲JavaScript有哪些数据类型,数据类型判断有哪些方法?
请你讲⼀讲JavaScript有哪些数据类型,数据类型判断有哪些⽅法?js的8种数据类型JavaScript中有8种数据类型, 包括基本数据类型(number, string, boolean, null, undefined, symbol, bigint)和引⽤数据类型object numberJavaScript中的整数和浮点数都会按照浮点数的标准进⾏存储.即64个⼆进制位, 从最左边开始:第1位: 符号位, 0表⽰正数, 1表⽰负数第2到第12位: 存储指数部分第13到第64位: 存储⼩数部分其中, 符号位决定⼀个数是正数还是负数, 指数部分决定了⼀个数的⼤⼩, ⼩数部分决定了⼀个数的精度数值精度JavaScript提供的有效数字最长为53个⼆进制位, 这意味着绝对值⼩于2的53次⽅的整数都能够精确表⽰JavaScript内部实际的表现形式:(-1)^符号位 * 1.xxx...xxx * 2^指数Math.pow(2, 53) === Math.pow(2, 53) + 1数值范围指数部分的最⼤值是2047(2^11 - 1), 分出⼀半表⽰负数, 那么JavaScript能够表⽰的数值范围为21024到2(-1023)Number.MAX_VALUE和Number.MIN_VALUE代表js可表⽰的最⼤数字和最⼩数字当⼀个浮点值⼤于(⼩于)js所能表⽰的最⼤(最⼩)值时, 其结果是Infinity(-Infinity), 12/0返回Infinity, -12/0返回-InfinityNaNNaN表⽰not a number(⾮数字), NaN和任何值都不相等, 包括它⾃⼰. 所以x != x当且仅当x是NaN时成⽴. 0/0会返回NaN Number.isNaN(Number.NaN)x != x 可以⽤来检测x是否是NaNNumber.isFinite()可以⽤来检测Number.NaN和Infinity.bigintbigint可以使⽤任意精度表⽰整数. 即使超出js的安全数, 也可以安全地存储和使⽤⼤整数bigint不能表⽰⼩数BigInt(123)stringjs中的字符串是不可变的, str.length可表⽰字符串的长度基本数据类型字符串它不是对象, 却能够使⽤对象才有的属性和⽅法进⾏操作(⽐如str.length, str.split('-')), 这是因为三个关键的基本数据类型都有⾃⼰对应的对象(Number, String和Boolean). 这三个对象是针对数字, 字符串和布尔值的包装.当我们在对象环境中使⽤字符串时(⽐如使⽤str.length), JavaScript会为这个字符串内部地创建⼀个String对象, 这个对象就代替了原始的字符串值来执⾏相应的操作. 注意此时被创建的String对象只是瞬时存在的, 使⽤之后系统就会⾃动将其丢弃.booleannull, undefined, 0, -0, NaN, ''都可以转成falsenull和undefinednull == undefined会返回true, null === undefined会返回falsesymbolsymbol代表独⼀⽆⼆的值let s = Symbol(); // 这样就⽣成了⼀个唯⼀不可变的值let s1 = Symbol('s1'); // 参数表⽰对symbol值的描述let s2 = Symbol('s1'); // s1 == s2会返回falselet a1 = Symbol.for('aa');let a2 = Symbol.for('aa'); // a1 === a2会返回true⽤symbol作为对象的属性名时, 不能通过点去访问属性, 通过点访问, js会将属性名解析成字符串JSON中⽆法存储Symbol类型的值不可枚举: 当Symbol值作为对象属性名时, 可以保证对象不会出现重复的属性, for in等⽅式⽆法枚举Symbol值出来, 可以调⽤Object.getOwnPropertySymbols()获取Symbol值. 借助Symbol的不可枚举特性可以在js中模拟私有变量object对象是通过调⽤特殊的构造函数创建的, 常常要使⽤到的对象有以下:function: JavaScript的函数是具有可执⾏代码的对象, 可以通过调⽤函数执⾏某些操作arrayclassDate⽇期RegExp正则表达式匹配所有中⽂字符, 匹配邮箱Math数学Math.ceil(), Math.floor()Math.round(), Math.random()JSONnull, NaN, Infinity, -Infinity, 正则对象和undefined都会被转成nullJSON.parse(JSON.stringify())Error: 程序中发⽣的语法错误和运⾏时错误的对象数据类型判断typeof对于⾮object的基本类型, 除null以外, 均可返回意料之中的结果对于引⽤类型, 除function以外, ⼀律返回object对于null, 返回object对于function, 返回functiontypeof(typeof a)返回的是string因为typeof NaN会返回number, 但是NaN不能⽤于数值计算, 所以在使⽤typeof判断数字时, 建议这样⼦做: typeof num == 'number' && Number.isFinite(num)instanceofA instanceof B是⽤来判断B的原型是否在A的原型链上instanceof的问题在于它假定只有⼀个全局执⾏环境, 如果存在两个及以上的全局执⾏环境, 那么就存在不同的构造函数, 此时instanceof⽆法进⾏判断Object.prototype.toString.callObject.prototype.toString.call(true) === '[object Boolean]'constructor当声明定义⼀个构造函数时, js会为构造函数添加⼀个prototype属性指向构造函数的原型对象, 这个原型对象会有⼀个constructor属性指向构造函数. ⽽当使⽤new和构造函数创建⼀个实例对象时, 实例对象会继承原型对象的constructor属性let a = [], b = 100;a.constructor == Arrayb.constructor == Number当程序员重写prototype指向之后, 原来的constructor就会丢失使⽤JavaScript写⼀个判断数据类型的函数function getType(data) {if(data === null) return 'Type: null';else if(data === undefined) return 'Type: undefined';else if(typeof data == 'number' && Number.isFinite(data)) return 'Type: number';else if(typeof data == 'string') return 'Type: string';else if(typeof data == 'boolean') return 'Type: boolean';else if(typeof data == 'function') return 'Type: function';else {let tmp = Object.prototype.toString.call(data);return 'Type:' + tmp.slice(7, tmp.length-1).toLowerCase();}}。
常用的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中,我们可以使用多种方法来判断一个数组中是否有重复值。
下面列举了三种常见的方法,分别是: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 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数字比较方法JS中有多种方法可以比较数字,这些方法可以帮助开发者判断和比较数字的大小关系。
本篇文章将介绍一些常用的JS数字比较方法,并探讨它们的用法和特点。
1. "==": 等于运算符,用于判断两个数字是否相等。
如果两个数字相等,则返回true;否则返回false。
例如:```javascriptconsole.log(5 == 5); // 输出 trueconsole.log(5 == 10); // 输出 false```需要注意的是,等于运算符只比较值,不比较类型。
因此,在比较时会进行类型转换。
例如:```javascriptconsole.log(5 == "5"); // 输出 true,因为 "5" 被转换为数字 5 console.log(true == 1); // 输出 true,因为 true 被转换为数字 1 ```2. "===": 全等运算符,用于判断两个数字是否严格相等。
除了比较值之外,全等运算符还会比较类型。
只有当两个数字的值和类型都相等时,才会返回true;否则返回false。
例如:```javascriptconsole.log(5 === 5); // 输出 trueconsole.log(5 === 10); // 输出 falseconsole.log(5 === "5"); // 输出 false,因为类型不同console.log(true === 1); // 输出 false,因为类型不同```3. "!=": 不等于运算符,用于判断两个数字是否不相等。
如果两个数字不相等,则返回true;否则返回false。
例如:```javascriptconsole.log(5 != 5); // 输出 falseconsole.log(5 != 10); // 输出 true```与等于运算符类似,不等于运算符也会进行类型转换。
JS中检测数据类型的几种方式及优缺点
JS中检测数据类型的⼏种⽅式及优缺点1、typeof ⽤来检测数据类型的运算符typeof value 返回值⾸先是⼀个字符串,其次⾥⾯包含了对应的数据类型,例如:"number"、"string"、"boolean"、"undefined"、"object"、"function"局限性:1)typeof null ->"object"2)检测的不管是数组还是正则都返回的是"object",所以typeof不能判断⼀个值是否为数组console.log(typeof [12, 23]);//->"Object"2、instanceof/constructor检测某⼀个实例是否属于某⼀个类使⽤instanceof/constructor可以检测数组和正则console.log([] instanceof Array);//->trueconsole.log(/^$/ instanceof RegExp);//->trueconsole.log([] instanceof Object);//->trueconsole.log([].constructor === Array);//->trueconsole.log([].constructor === Object);//->falseconstructor可以避免instanceof检测数组的时候,⽤Object也是true的问题console.log({}.constructor === Object);//trueconsole.log([].constructor === Object);//false局限性:1)⽤instanceof检测的时候,只要当前的这个类在实例的原型链上(可以通过原型链__proto__找到它),检测出来的结果都是truevar oDiv = document.getElementById("div1");//HTMLDivElement->HTMLElement->Element->Node->EventTarget->Objectconsole.log(oDiv instanceof HTMLDivElement);//->trueconsole.log(oDiv instanceof Node);//->trueconsole.log(oDiv instanceof Object);//->true 2)基本数据类型的值是不能⽤instanceof来检测的console.log(1 instanceof Number);//->false数组创建的两种⽅式(对象、正则、函数...)对于引⽤数据类型来说,我们两种⽅式创建出来的都是所属类的实例,⽽且都是对象数据类型的值,是没有区别的var ary = [];var ary = new Array;对于基本数据类型来说,虽然不管哪⼀种⽅式创建出来的都是所属类的⼀个实例(在类的原型上定义的⽅法都可以使⽤),但是字⾯量⽅式创建出来的是基本数据类型,⽽实例⽅式创建出来的是对象数据类型var num1 = 1;var num2 = new Number("1");console.log(typeof num1,typeof num2);//->"number" "object" 3)在类的原型继承中,instanceof检测出来的结果其实是不准确的function Fn() {}var f = new Fn;console.log(f instanceof Array);//->false f不是⼀个数组,它就是⼀个普通的实例(普通的对象)虽然Fn继承了Array,但是f没有length和数字索引哪些东西,所以f应该不是数组才对,但是⽤instanceof检测的结果却是true,因为f虽然不是数组,但是在f的原型链上可以找到Arrayfunction Fn() {}Fn.prototype = new Array;//->Fn⼦类继承了Array这个⽗类中的属性和⽅法var f = new Fn;console.log(f instanceof Array);//->true3、Object.prototype.toString.call(value) ->找到Object原型上的toString⽅法,让⽅法执⾏,并且让⽅法中的this变为value(value->就是我们要检测数据类型的值)Object.prototype.toString常⽤来判断对象值属于哪种内置属性,它返回⼀个JSON字符串——"[object 数据类型]"。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//替换双引号为"// function ReplaceDoubleQuotes(strValue){ return strValue.replace('"','"'); } // //检查 FORM 里所有输入控件是否含有非法字符// function CheckUnsafeMark(frm) { for(var i=0;i<frm.length;i++) { var edit = frm.item(i); var stag = edit.tagName; if (edit.type) { var stype = edit.type; if ( (stype.toLowerCase()!="password") && (stype.toLowerCase() != ********************************* 功能:自动计算两个日期间隔天数 先要检查开始日期是否大于截止日期,如果大于,返回 参数: start 开始日期字符串 end 截止日期字符串 */ function GetDateDiff(strStart,strEnd) { var start = strStart; var end = strEnd; if (StrToDate(start) > StrToDate(end)) { alert("起始日期必须小于截止日期!");return; } else { var startdate = new Date(); startdate = StrToDate(start); var enddate = new Date(); enddate = StrToDate(end); var overdue = parseFloat(enddate) - parseFloat(startdate); overdue = overdue/(1000*24*60*60); return overdue; } }
<script language="javascript"> /* 下列函数返回值说明: 凡是“Is”开头的函数,如果是"Is"后指明的状态,则返回真,否则为假 eg. IsNum 如果是数字,返回真 某些“Check”开头的函数,如果是"Check"后指明的状态,返回假,否则为真 某些则相反,请具体查看函数说明 eg. CheckEmpty 如果是空,返回假 函数名解释: 当有重载出现时 NP 表示没有参数(no parameter) 3P,4P 等表示参数个数(3 parameter,4 parameter) *************************************************************** 函数目录: -----------校验输入与工具类-------------------------------------------ReplaceDoubleQuotes(strValue) 替换双引号为" CheckUnsafeMark(frm) 检查参数 frm(form)对象里所有输入控件是否含有非法字符 CheckKey(KeyCode) 检查输入键是否为 0~9,a~z(A~Z),Del,-,., CheckEmptyNP() 校验触发者的值是否为空 CheckEmpty(CheckCtl,disptext) 校验输入值是否为空 CheckCardNo(CheckCtl,disptext) 校验一个合法的身份证号码(15,18 位) Trim(strSource) 清除左右两边空格 IsEmail(CheckCtl, s) 判断是否是正确的电子邮件地址 IsPhoneNumber(CheckCtl,s) 判断是否是正确的电话号码 IsLetter(CheckCtl,s) 判断是否是字母组合 IsCode(CheckCtl,s) 判断是否是数字编码组合 数字和数字编码的区别: 数字编码允许 000000010 ,不允许诸如: -1290092 ,23.,.3456 等类型的值,而数字则认为是真 IsUserName(CheckCtl,s) 判断是否是正确的用户名 用户名只能由小写英文字母、 阿拉伯数 字和下划线组成!s=null or s="" 时有默认的提示信息 IsImageFile(FilePath) 判断是否文件路径中文件是图像文件,路径可以是 url 或者 file:\\ ------------数字类----------------------------------------Round(i,digit) 取整函数,digid 为保留的小数位数 CheckPositiveInt(CheckCtl,disptext,IsCanZero) 校验一个正整数 CheckPositiveIntNP() 校验触发者的值是否为一个正整数 CheckPositiveFloat(CheckCtl,disptext,floatcount) 校验一个合法的大于等于 0 的浮点数 CheckPositiveFloatNP() 校验触发者的值是否一个合法的大于等于 0 的浮点数(2 位小数) CheckPositiveFloat4P(CheckCtl,disptext,IsCanZero,floatcount) 校验一个合法的大于 0 的浮点 数,是否可以等于零由参数 IsCanZero 决定 IsCost(Costctrl) 检查费用输入,小数位为 2 位,且不能超过 SQL Server 中数据字段 money 最大值 IsNum(txtctl,message,floatcount) 校验是否是数字 CheckIntRange(CheckCtl,Min, Max,Msg) 校验一个合法的且在规定范围内的整数 CheckFloatRange(CheckCtl,Min, Max,Msg) 校验一个合法的且在规定范围内的浮点数
-----------日期类------------------------------------------GetDateDiff(strStart,strEnd) 计算两个日期间隔天数 CheckYear(strYearInput) 检查输入是否是个有效年份 AddDay(dateObj,days) 把一个日期加上 n 天 CheckDiffDate(BDateCtl,EDateCtl,Msg) 比较两个日期的大小,如果开始日期大于结束日 期,返回 false; DateToStr(dateObj) 将一个日期对象转化为格式 yyyy-MM-dd 字符串 DateTimeToStr(dateObj) 将一个日期时间对象转化为形如 yyyy-MM-dd HH:mm:ss 的字符 串 StrToDate(str) yyyy-MM-dd 的字符串转化为日期对象: StrToDateTime(str) 将一个 yyyy-MM-dd HH:mm:ss 的字符串转化为日期时间对象 StrToDateTime6P(year,month,day,hour,minute,second) 将 一 个 参 数 构 成 的 yyyy-MM-dd HH:mm:ss 的字符串转化为日期时间对象 IsDate(str) 判断一个字符串是否为有效的日期并且格式是否正确 YYYY-MM-DD ----------------------------------------------------------
************************************************************* */ var maxpn=999999999999; var maxfn=999999999999.9; var numerrormsg0="请输入 0-999999999999 之内的数字"; var numerrormsg1="请输入 1-999999999999 之内的数字"; var overerrormsg="数值超过最大值 999999999999";
/* 功能: 得到两个日期相差的天数(每一个月按 30 天,一年 360 天计算) 该函数不精确 入口参数: datestartObj: 日期对象 1 dateendObj: 日期对象 2 返回 dateendObj - datestartObj 相差的天数 */ /*function GetDayDiff(datestartObj,dateendObj) { var year=dateendObj.getFullYear() - datestartObj.getFullYear(); var month=dateendObj.getMonth() - datestartObj.getMonth(); var day=dateendObj.getDate() - datestartObj.getDate(); return year*12*30+month*30+day; }*/ /* 功能:检查输入是否是个有效年份 */ function CheckYear(strYearInput) {
continue; } } else{ var stag = edit.tagName; if (stag.toLowerCase()!="textarea"){ continue; } } var s = Trim(edit.value); if ((s.indexOf("\"")>=0)||(s.indexOf("\'")>=0)||(s.indexOf("<")>=0)||(s.indexOf(">")>=0)) { alert("不能输入包含非法字符(如\", \', <, >)的文字!"); edit.select(); edit.focus(); return false; } else continue; }//end of for return true; } //检查输入键是否为 0~9,a~z(A~Z),Del,-,.,/ //KeyDown 有效 function CheckKey(KeyCode) { Zero=48; Nine=57; Delete=46; Minus=189; Dot=190; Divide=191; Key_a=65; Key_z=90; _Zero=96; _Nine=105; _Divide=111; _Minus=109; _Dot=110; return ((KeyCode>=Key_a)&&(KeyCode<=Key_z))||((KeyCode>=Zero)&&(KeyCode<=Nine))||((Key Code>=_Zero)&&(KeyCode<=_Nine))||(KeyCode==Delete)||(KeyCode==Dot)||(KeyCode==Min us)||(KeyCode==Divide)||(KeyCode==0)||(KeyCode==_Minus)||(KeyCode==_Divide)||(KeyCode ==_Dot);