用JavaScript判断日期、数字、整数和特殊字符
怎么样在用一个程序检测所输入的内容是否合法,以下是本人自己编写的一个程序对日期、数字、整数和特殊字符进行了判断同时还可判断是正数还是负数(对数值类和整数而言)
< script language="javascript"> < !-- /** LogicalValue:用于判断对象的值是否符合条件,现已提供的选择有: integer:整型,还可判断正整型和负整型 number :数值型,同样可判断正负 date :日期型,可支持以自定义分隔符的日期格式,缺省是以´-´为分隔符 string :判断一个字符串包括或不包括某些字符 返回值: true或false 参数: ObjStr :对象标识符——对象名; ObjType:对象类型(´integer´,´number´,´date´,´string´之一) 其他说明: 当对象值为空时,则返回错误。 Author:PPDJ 例子: example 1:要求检验输入框text1的输入数据是否是“整型”数据,若不是,则提示 if (!LogicalValue(´text1´,´integer´)) alert(´Error: Your must input a integer number´); example 2:要求检验输入框text1的输入数据是否是“正整型”数据,若不是,则提示 if (!LogicalValue(´text1´,´integer´,´+´)) alert(´Error: Your must input a positive integer number´); example 3:要求检验输入框text1的输入数据是否是“负整型”数据,若不是,则提示 if (!LogicalValue(´text1´,´integer´,´-´)) alert(´Error: Your must input a negative integer number´); exmaple 4:要求检验输入框text1的输入数据是否是数值,若不是,则提示 if (!LogicalValue(´text1´,´number´)) alert(´Error: Your must input a number´); exmaple 5:要求检验输入框text1的输入数据是否是“正”数值,若不是,则提示 if (!LogicalValue(´text1´,´number´,´+´)) alert(´Error: Your must input a number´); exmaple 6:要求检验输入框text1的输入数据是否是“负”数值,若不是,则提示 if (!LogicalValue(´text1´,´number´,´-´)) alert(´Error: Your must input a number´); example 7:要求检验输入框text1的输入数据是否是日期型,若不是,则提示 if (!LogicalValue(´text1´,´date´)) alert(´Error: Your must input a logical date value´); 若它的分隔符为A,“A”是一个变量,如常用的´-´和´/´,则用如下语法 if (!LogicalValue(´text1´,´date´,A)) alert(´Error: Your must input a logical date value´); 或当分隔符为´/´时 if (!LogicalValue(´text1´,´date´,´/´)) alert(´Error: Your must input a logical date value´); 当分隔符为´-´时,可不要参数´-´,可带上 example 8:要求检验输入框text1的输入表示颜色的字符串是否合理,若不合理,则提示 if (!LogicalValue(´text1´,´string´,´0123456789ABCDEFabcdef´)) alert(´Error: Your must input a logical color value´); example 9:要求检验输入框text1的输入表示密码的字符串是否不含“´"@#$%&^*”这些字符,若含有,则提示 if (!LogicalValue(´text1´,´string´,´´"@#$%&^*´,false)) alert(´Error: Your password can not contain ´"@#$%&^*´); 其中false表示不包含有某些字符,true表示必须是哪些字符,缺省值为true */ function LogicalValue(ObjStr,ObjType) { var str=´´; if ((ObjStr==null) || (ObjStr==´´) || ObjType==null) { alert(´函数LogicalValue缺少参数´); return false; } var obj = document.all(ObjStr); if (obj.value==´´) return false; for (var i=2;i{ if (str!=´´) str += ´,´; str += ´arguments[´+i+´]´; } str=(str==´´?´obj.value´:´obj.value,´+str); var temp=ObjType.toLowerCase(); if (temp==´integer´) { return eval(´IsInteger(´+str+´)´); } else if (temp==´number´) { return eval(´IsNumber(´+str+´)´); } else if (temp==´string´) { return eval(´SpecialString(´+str+´)´); } else if (temp==´date´) { return eval(´IsDate(´+str+´)´); } else { alert(´"´+temp+´"类型在现在版本中未提供´); return false; } } /** IsInteger: 用于判断一个数字型字符串是否为整形, 还可判断是否是正整数或负整数,返回值为true或false string: 需要判断的字符串 sign: 若要判断是正负数是使用,是正用´+´,负´-´,不用则表示不作判断 Author: PPDJ sample: var a = ´123´; if (IsInteger(a)) { alert(´a is a integer´); } if (IsInteger(a,´+´)) { alert(a is a positive integer); } if (IsInteger(a,´-´)) { alert(´a is a negative integer´); } */ function IsInteger(string ,sign) 上一篇: 自定义右键菜单代码详解 下一篇: JavaScript制作会反弹的浮动图片 更多相关文章
|
推荐文章
· 页面自动刷新
精彩文章
|