《常用javascript数据验证》由会员分享,可在线阅读,更多相关《常用javascript数据验证(23页珍藏版)》请在金锄头文库上搜索。
1、/* 下列函数返回值说明: 凡是“Is”开头的函数,如果是Is后指明的状态,则返回真,否则为假 eg. IsNum 如果是数字,返回真 某些“Check”开头的函数,如果是Check后指明的状态,返回假,否则为真 某些则相反,请具体查看函数说明 eg. CheckEmpty 如果是空,返回假 函数名解释: 当有重载出现时 NP 表示没有参数(no parameter) 3P,4P 等表示参数个数(3 parameter,4 parameter) * 函数目录: -校验输入与工具类- ReplaceDoubleQuotes(strValue) 替换双引号为" CheckUnsafeMa
2、rk(frm) 检查参数frm(form)对象里所有输入控件是否含有非法字符 CheckKey(KeyCode) 检查输入键是否为09,az(AZ),Del,-,., CheckEmptyNP() 校验触发者的值是否为空 CheckEmpty(CheckCtl,disptext) 校验输入值是否为空 CheckCardNo(CheckCtl,disptext) 校验一个合法的身份证号码(15,18位) Trim(strSource) 清除左右两边空格 IsEmail(CheckCtl, s) 判断是否是正确的电子邮件地址 IsPhoneNumber(CheckCtl,s) 判断是否是正确的电话
3、号码 IsLetter(CheckCtl,s) 判断是否是字母组合 IsCode(CheckCtl,s) 判断是否是数字编码组合 数字和数字编码的区别:数字编码允许 000000010 ,不允许诸如: -1290092 ,23.,.3456等类型的值,而数字则认为是真 IsUserName(CheckCtl,s) 判断是否是正确的用户名 用户名只能由小写英文字母、阿拉伯数字和下划线组成!s=null or s= 时有默认的提示信息 IsImageFile(FilePath) 判断是否文件路径中文件是图像文件,路径可以是url或者file: -数字类- Round(i,digit) 取整函数,d
4、igid为保留的小数位数 CheckPositiveInt(CheckCtl,disptext,IsCanZero) 校验一个正整数 CheckPositiveIntNP() 校验触发者的值是否为一个正整数 CheckPositiveFloat(CheckCtl,disptext,floatcount) 校验一个合法的大于等于0的浮点数 CheckPositiveFloatNP() 校验触发者的值是否一个合法的大于等于0的浮点数(2位小数) CheckPositiveFloat4P(CheckCtl,disptext,IsCanZero,floatcount) 校验一个合法的大于0的浮点数,是
5、否可以等于零由参数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(strYearIn
6、put) 检查输入是否是个有效年份 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
7、: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 ove
8、rerrormsg=数值超过最大值999999999999;/替换双引号为"/function ReplaceDoubleQuotes(strValue) return strValue.replace(,");/检查FORM里所有输入控件是否含有非法字符/function CheckUnsafeMark(frm)for(var i=0;i=0)|(s.indexOf()=0)|(s.indexOf(=0)|(s.indexOf()=0) alert(不能输入包含非法字符(如, , )的文字!); edit.select(); edit.focus(); return fa
9、lse; elsecontinue;/end of forreturn true;/检查输入键是否为09,az(AZ),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=Zero)&(KeyCode=_Zero)&(KeyCode=0) behin
10、d = strTmp.substring(strTmp.indexOf(.)+1,strTmp.length); while(digit-behind.length0) behind += 0; strTmp = strTmp.substring(0,strTmp.indexOf(.)+1) + behind;else for(var j=0;j0) strTmp = strTmp + . + behind;return strTmp;/*功能:自动计算两个日期间隔天数先要检查开始日期是否大于截止日期,如果大于,返回参数: start 开始日期字符串 end 截止日期字符串*/function GetDateDiff(strStart,strEnd) var start