您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 基础医学 > 常用javascript数据验证
scriptlanguage=javascript/*下列函数返回值说明:凡是“Is”开头的函数,如果是Is后指明的状态,则返回真,否则为假eg.IsNum如果是数字,返回真某些“Check”开头的函数,如果是Check后指明的状态,返回假,否则为真某些则相反,请具体查看函数说明eg.CheckEmpty如果是空,返回假函数名解释:当有重载出现时NP表示没有参数(noparameter)3P,4P等表示参数个数(3parameter,4parameter)***************************************************************函数目录:-----------校验输入与工具类--------------------------------------------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=nullors=时有默认的提示信息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位,且不能超过SQLServer中数据字段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-ddHH:mm:ss的字符串StrToDate(str)yyyy-MM-dd的字符串转化为日期对象:StrToDateTime(str)将一个yyyy-MM-ddHH:mm:ss的字符串转化为日期时间对象StrToDateTime6P(year,month,day,hour,minute,second)将一个参数构成的yyyy-MM-ddHH:mm:ss的字符串转化为日期时间对象IsDate(str)判断一个字符串是否为有效的日期并且格式是否正确YYYY-MM-DD----------------------------------------------------------**************************************************************/varmaxpn=999999999999;varmaxfn=999999999999.9;varnumerrormsg0=请输入0-999999999999之内的数字;varnumerrormsg1=请输入1-999999999999之内的数字;varovererrormsg=数值超过最大值999999999999;//替换双引号为"//functionReplaceDoubleQuotes(strValue){returnstrValue.replace('','"');}////检查FORM里所有输入控件是否含有非法字符//functionCheckUnsafeMark(frm){for(vari=0;ifrm.length;i++){varedit=frm.item(i);varstag=edit.tagName;if(edit.type){varstype=edit.type;if((stype.toLowerCase()!=password)&&(stype.toLowerCase()!=text)){continue;}}else{varstag=edit.tagName;if(stag.toLowerCase()!=textarea){continue;}}vars=Trim(edit.value);if((s.indexOf(\)=0)||(s.indexOf(\')=0)||(s.indexOf()=0)||(s.indexOf()=0)){alert(不能输入包含非法字符(如\,\',,)的文字!);edit.select();edit.focus();returnfalse;}elsecontinue;}//endofforreturntrue;}//检查输入键是否为0~9,a~z(A~Z),Del,-,.,///KeyDown有效functionCheckKey(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))||((KeyCode=_Zero)&&(KeyCode=_Nine))||(KeyCode==Delete)||(KeyCode==Dot)||(KeyCode==Minus)||(KeyCode==Divide)||(KeyCode==0)||(KeyCode==_Minus)||(KeyCode==_Divide)||(KeyCode==_Dot);}//取整函数//eg.Round(132.123456)为132.12//eg.Round(132.123456,4)为132.1234//eg.Round(132.123456,0)为132functionRound(i,digit){if(isNaN(parseFloat(i))){return'0';}if(digit==0)p=1;else{if(digit)p=Math.pow(10,digit);elsep=100;}varmm=Math.round(i*p)/p;varstrTmp=eval('+mm+');varbehind='';if(strTmp.indexOf('.')=0){behind=strTmp.substring(strTmp.indexOf('.')+1,strTmp.length);while(digit-behind.length0){behind+='0';}strTmp=strTmp.substring(0,strTmp.indexOf('.')+1)+behind;}else{for(varj=0;jdigit;j++){behind+='0';}if(digit0){strTmp=strTmp+'.'+behind;}}returnstrTmp;}/********************************************功能:自动计算两个日期间隔天数先要检查开始日期是否大于截止日期,如果大于,返回参数:start开始日期字符串end截止日期字符串*/functionGetDateDiff(strStart,strEnd){varstart=strStart;varend=strEnd;if(StrToDate(start)StrToDate(end)){alert(起始日期必须小于截止日期!);return;}else{varstartdate=newDate();startdate=StrToDate(start);varenddate=newDate();enddate=StrToDate(end);varoverdue=parseFloat(enddate)-parseFloat(startdate);overdue=overdue/(1000*24*60*60);returnoverdue;}}/*功能:得到两个日期相差的天数(每一个月按30天,一年360天计算)该函数不精确入口参数:datestartObj:日期对象1dateendObj:日期对象2返回dateendObj-datestartObj相差的天数*//*functionGetDayDiff(datestartObj,dateendObj){varyear=dateendObj.getFullYear()-datestartObj.getFullYear();varmonth=dateendObj.getMonth()-datestartObj.getMonth();varday=dateendObj.getDate()-datestartObj.getDate();returnyear*12*30+month*30+day;}*//*功能:检查输入是否是个有效年份*/functionCheckYear(strYearInput){varyears=strYearInput;if(years!=&&!isNaN(parseInt(years))){if(parseInt(years)=3000&&parseInt(years)=1900){returntrue;}else{alert('请输入合法年份!');return
本文标题:常用javascript数据验证
链接地址:https://www.777doc.com/doc-6458414 .html