(www.Jojoo.net) 2002-1-1 (请双击自动滚屏观看,单击停止,再击..)
如何在用一个程序检测所输入的内容是否合法,以下是本人自己编写的一个程序对日期、数字、整数和特殊字符进行了判断同时还可判断是正数还是负数(对数值类和整数而言)
<!-- <p>/**<br>LogicalValue:用于判断对象的值是否符合条件,现已提供的选择有:<br>integer:整型,还可判断正整型和负整型<br>number :数值型,同样可判断正负<br>date :日期型,可支持以自定义分隔符的日期格式,缺省是以'-'为分隔符<br>string :判断一个字符串包括或不包括某些字符<br>返回值:<br>true或false <p>参数:<br>ObjStr :对象标识符——对象名;<br>ObjType:对象类型('integer','number','date','string'之一) <p>其他说明:<br>当对象值为空时,则返回错误。 <p>Author:PPDJ <p>例子:<br>example 1:要求检验输入框text1的输入数据是否是“整型”数据,若不是,则提示<br>if (!LogicalValue('text1','integer')) alert('Error: Your must input a integer number');<br>example 2:要求检验输入框text1的输入数据是否是“正整型”数据,若不是,则提示 <br>if (!LogicalValue('text1','integer','+')) alert('Error: Your must input a positive integer number');<br>example 3:要求检验输入框text1的输入数据是否是“负整型”数据,若不是,则提示 <br>if (!LogicalValue('text1','integer','-')) alert('Error: Your must input a negative integer number');<br>exmaple 4:要求检验输入框text1的输入数据是否是数值,若不是,则提示 <br>if (!LogicalValue('text1','number')) alert('Error: Your must input a number');<br>exmaple 5:要求检验输入框text1的输入数据是否是“正”数值,若不是,则提示 <br>if (!LogicalValue('text1','number','+')) alert('Error: Your must input a number');<br>exmaple 6:要求检验输入框text1的输入数据是否是“负”数值,若不是,则提示 <br>if (!LogicalValue('text1','number','-')) alert('Error: Your must input a number');<br>example 7:要求检验输入框text1的输入数据是否是日期型,若不是,则提示<br>if (!LogicalValue('text1','date')) alert('Error: Your must input a logical date value');<br>若它的分隔符为A,“A”是一个变量,如常用的'-'和'/',则用如下语法<br>if (!LogicalValue('text1','date',A)) alert('Error: Your must input a logical date value');<br>或当分隔符为'/'时<br>if (!LogicalValue('text1','date','/')) alert('Error: Your must input a logical date value');<br>当分隔符为'-'时,可不要参数'-',可带上<br>example 8:要求检验输入框text1的输入表示颜色的字符串是否合理,若不合理,则提示<br>if (!LogicalValue('text1','string','0123456789ABCDEFabcdef')) alert('Error: Your must input a logical color value');<br>example 9:要求检验输入框text1的输入表示密码的字符串是否不含“'"@#$%&^*”这些字符,若含有,则提示<br>if (!LogicalValue('text1','string','\'"@#$%&^*',false)) alert('Error: Your password can not contain \'"@#$%&^*');<br>其中false表示不包含有某些字符,true表示必须是哪些字符,缺省值为true<br>*/<br>function LogicalValue(ObjStr,ObjType)<br>{<br>var str='';<br>if ((ObjStr==null) || (ObjStr=='') || ObjType==null)<br>{<br>alert('函数LogicalValue缺少参数');<br>return false;<br>}<br>var obj = document.all(ObjStr);<br>if (obj.value=='') return false;<br>for (var i=2;i<arguments.length;i++)<br>{ <br>if (str!='')<br>str += ',';<br>str += 'arguments['+i+']';<br>}<br>str=(str==''?'obj.value':'obj.value,'+str);<br>var temp=ObjType.toLowerCase();<br>if (temp=='integer')<br>{<br>return eval('IsInteger('+str+')');<br>}<br>else if (temp=='number')<br>{<br>return eval('IsNumber('+str+')');<br>}<br>else if (temp=='string')<br>{<br>return eval('SpecialString('+str+')');<br>}<br>else if (temp=='date')<br>{<br>return eval('IsDate('+str+')');<br>}<br>else<br>{<br>alert('"'+temp+'"类型在现在版本中未提供');<br>return false;<br>}<br>} <p>/**<br>IsInteger: 用于判断一个数字型字符串是否为整形,<br>还可判断是否是正整数或负整数,返回值为true或false<br>string: 需要判断的字符串<br>sign: 若要判断是正负数是使用,是正用'+',负'-',不用则表示不作判断<br>Author: PPDJ<br>sample:<br>var a = '123';<br>if (IsInteger(a))<br>{<br>alert('a is a integer');<br>}<br>if (IsInteger(a,'+'))<br>{<br>alert(a is a positive integer);<br>}<br>if (IsInteger(a,'-'))<br>{<br>alert('a is a negative integer');<br>}<br>*/ <p>function IsInteger(string ,sign)<br>{ <br>var integer;<br>if ((sign!=null) && (sign!='-') && (sign!='+'))<br>{<br>alert('IsInter(string,sign)的参数出错:\nsign为null或"-"或"+"');<br>return false;<br>}<br>integer = parseInt(string);<br>if (isNaN(integer))<br>{<br>return false;<br>}<br>else if (integer.toString().length==string.length)<br>{ <br>if ((sign==null) || (sign=='-' && integer<0) || (sign=='+' && integer>0))<br>{<br>return true;<br>}<br>else<br>return false; <br>}<br>else<br>return false;<br>} <p>/**<br>IsDate: 用于判断一个字符串是否是日期格式的字符串 <p>返回值:<br>true或false <p>参数:<br>DateString: 需要判断的字符串<br>Dilimeter : 日期的分隔符,缺省值为'-' <p>Author: PPDJ<br>sample:<br>var date = '1999-1-2';<br>if (IsDate(date))<br>{<br>alert('You see, the default separator is "-");<br>}<br>date = '1999/1/2";<br>if (IsDate(date,'/'))<br>{<br>alert('The date\'s separator is "/");<br>}<br>*/ <p>function IsDate(DateString , Dilimeter)<br>{<br>if (DateString==null) return false;<br>if (Dilimeter=='' || Dilimeter==null)<br>Dilimeter = '-';<br>var tempy='';<br>var tempm='';<br>var tempd='';<br>var tempArray;<br>if (DateString.length<8 && DateString.length>10)<br>return false; <br>tempArray = DateString.split(Dilimeter);<br>if (tempArray.length!=3)<br>return false;<br>if (tempArray[0].length==4)<br>{<br>tempy = tempArray[0];<br>tempd = tempArray[2];<br>}<br>else<br>{<br>tempy = tempArray[2];<br>tempd = tempArray[1];<br>}<br>tempm = tempArray[1];<br>var tDateString = tempy + '/'+tempm + '/'+tempd+' 8:0:0';//加八小时是因为我们处于东八区<br>var tempDate = new Date(tDateString);<br>if (isNaN(tempDate))<br>return false;<br>if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd)))<br>{<br>return true;<br>}<br>else<br>{<br>return false;<br>}<br>} <p>/**<br>IsNumber: 用于判断一个数字型字符串是否为数值型,<br>还可判断是否是正数或负数,返回值为true或false<br>string: 需要判断的字符串<br>sign: 若要判断是正负数是使用,是正用'+',负'-',不用则表示不作判断<br>Author: PPDJ<br>sample:<br>var a = '123';<br>if (IsNumber(a))<br>{<br>alert('a is a number');<br>}<br>if (IsNumber(a,'+'))<br>{<br>alert(a is a positive number);<br>}<br>if (IsNumber(a,'-'))<br>{<br>alert('a is a negative number');<br>}<br>*/ <p>function IsNumber(string,sign)<br>{<br>var number;<br>if (string==null) return false;<br>if ((sign!=null) && (sign!='-') && (sign!='+'))<br>{<br>alert('IsNumber(string,sign)的参数出错:\nsign为null或"-"或"+"');<br>return false;<br>}<br>number = new Number(string);<br>if (isNaN(number))<br>{<br>return false;<br>}<br>else if ((sign==null) || (sign=='-' && number<0) || (sign=='+' && number>0))<br>{<br>return true;<br>}<br>else<br>return false;<br>} <p>/**<br>SpecialString: 用于判断一个字符串是否含有或不含有某些字符 <p>返回值:<br>true或false <p>参数:<br>string : 需要判断的字符串<br>compare : 比较的字符串(基准字符串)<br>BelongOrNot: true或false,“true”表示string的每一个字符都包含在compare中,<br>“false”表示string的每一个字符都不包含在compare中 <p>Author: PPDJ<br>sample1:<br>var str = '123G';<br>if (SpecialString(str,'1234567890'))<br>{<br>alert('Yes, All the letter of the string in \'1234567890\'');<br>}<br>else<br>{<br>alert('No, one or more letters of the string not in \'1234567890\'');<br>}<br>结果执行的是else部分<br>sample2:<br>var password = '1234';<br>if (!SpecialString(password,'\'"@#$%',false)) <br>{<br>alert('Yes, The password is correct.');<br>}<br>else<br>{<br>alert('No, The password is contain one or more letters of \'"@#$%\'');<br>} <br>结果执行的是else部分<br>*/<br>function SpecialString(string,compare,BelongOrNot)<br>{<br>if ((string==null) || (compare==null) || ((BelongOrNot!=null) && (BelongOrNot!=true) && (BelongOrNot!=false)))<br>{<br>alert('function SpecialString(string,compare,BelongOrNot)参数错误');<br>return false;<br>}<br>if (BelongOrNot==null || BelongOrNot==true)<br>{<br>for (var i=0;i<string.length;i++)<br>{<br>if (compare.indexOf(string.charAt(i))==-1)<br>return false<br>}<br>return true;<br>}<br>else<br>{<br>for (var i=0;i<string.length;i++)<br>{<br>if (compare.indexOf(string.charAt(i))!=-1)<br>return false<br>}<br>return true;<br>}<br>} <p>//-->
分享到:
相关推荐
这些方法在日常开发中都非常实用,可以帮助开发者高效地处理数据类型判断和数字格式化的问题。需要注意的是,不同的方法适用于不同的场景和数据类型,开发者应根据实际需要选择合适的方法来使用。
JavaScript 是一种广泛用于网页和网络应用的编程语言,尤其在前端开发中扮演着重要角色。本文将详细讲解JavaScript中的几个常见判断...开发者可以根据需求,灵活组合使用这些函数,以实现更复杂的逻辑判断和数据验证。
本文将详细介绍几个常用的JavaScript判断函数,包括`DataLength`(计算数据长度)、`IsEmpty`(判断是否为空)、`IsDigit`(判断是否为数字)、`IsInteger`(判断是否为正整数)以及`IsEmail`(判断是否为正确的电子...
然而,这种方法无法区分数字和数字字符串。 3. **正则表达式匹配**: 我们可以利用正则表达式来匹配数字格式。例如,`/^\d+$/.test(input)`会检查输入是否只包含0-9的数字,不包括其他字符。`^`代表字符串开始,`$...
本文将详细介绍如何使用JavaScript来判断一个字符串是否可以转换为数字,以及需要注意的一些陷阱。 首先,我们要理解JavaScript中的`parseInt()`函数。`parseInt()`是JavaScript内置的全局函数,用于将字符串转换为...
在编程领域,判断一个字符串或字符串中的一个字符是否为数字类型是常见的操作,尤其是在处理用户输入、数据分析或者格式验证时。下面将详细讲解几种不同语言中实现这一功能的方法,以及如何确保判断的安全性和效率。...
- 使用 `isNaN()` 函数判断处理后的字符串是否为有效的数字字符串,如果不是,则将其设为 `"0"`。 - 接下来确定数字的正负号,并使用 `Math.abs()` 获取绝对值。 2. **小数部分处理**: - 通过乘以 `100` 并加上...
### JavaScript将数字转换为整数金额大写的方法详解 在日常的财务系统或者涉及货币处理的应用中,将数字转换为中文大写金额是一项常见的需求。本文将深入探讨一种利用JavaScript实现这一功能的方法,并通过具体代码...
76、原生JavaScript判断字符串是否为整数 77、原生JavaScript判断字符串是否为浮点数 78、原生JavaScript判断字符是否为A-Za-z英文字母 79、原生JavaScript判断字符串是否邮政编码 80、原生JavaScript判断字符是否空...
在Python中,我们可以直接用内置的`str()`函数将整数转换为字符串,然后使用`count()`方法来计算"0"的出现次数。例如: ```python def count_zeros(num): return str(num).count('0') ``` **Java**: 在Java中,...
本文主要介绍了在JavaScript中实现几种常用数据验证的函数,包括判断字符长度、判断数字、判断是否为整数、判断Email地址和电话号码的有效性。通过直接给出实现代码的方式,方便有需要的朋友参考和使用。下面将详细...
js 字符串转换成数字的三种方法js字符串转换成数字与数字转换成字符串的实现方法js实现在字符串中提取数字JavaScript数字和字符串转换示例javaScript 判断字符串是否为数字的简单方法javascript中的数字与字符串相加...
在Python中,可以使用内置的`isdigit()`方法,适用于整数字符串,或者`isnumeric()`方法,适用于Unicode字符中的数字。此外,更通用的方法是尝试将字符串转换为`int`或`float`类型,如果转换成功则说明字符串是数字...
根据给定文件的信息,本文将深入探讨如何在JavaScript中实现16进制字符串到10进制整数的转换,并附带介绍与之相关的其他进制间的转换方法以及字符与ASCII码之间的转换。 ### 一、JavaScript中16进制字符串到10进制...
本文将主要介绍两种方法:正则表达式判断和取整判断。 1. 正则表达式判断 正则表达式是一种强大的文本处理工具,可以用于检查一个字符串是否符合特定的模式。在JavaScript中,我们可以利用正则表达式来验证一个...
从给定的文件中,我们可以提炼出多个与JavaScript相关的知识点,这些知识点主要集中在文本框输入合法性的判断上,包括但不限于数字、电子邮件地址、电话号码、中文字符等的验证。下面将详细阐述这些知识点: ### 1....
但需要注意,这种方法对于空字符串、字符串形式的数字、布尔值和空数组等非数字类型的值也会返回true,因此使用前应判断变量是否为数字类型。示例如下: ```javascript function isInteger(obj) { return typeof ...