html中常用JavaScript验证表单文本域方法,如日期、字符串、数字等
2010-06-01 14:56
801 查看
//===========验证函数 start var isIE = false; var isFF = false; var isSa = false; if ((navigator.userAgent.indexOf("MSIE") > 0) && (parseInt(navigator.appVersion) >= 4)) { isIE = true; } if (navigator.userAgent.indexOf("Firefox") > 0) { isFF = true; } if (navigator.userAgent.indexOf("Safari") > 0) { isSa = true; } //作用:控制职能输入数字 function onlyNumber(e) { var key; iKeyCode = window.event ? e.keyCode : e.which; if (!(((iKeyCode >= 48) && (iKeyCode <= 57)) || (iKeyCode == 13) || (iKeyCode == 46) || (iKeyCode == 45) || (iKeyCode == 37) || (iKeyCode == 39) || (iKeyCode == 8))) { if (isIE) { e.returnValue = false; } else { e.preventDefault(); } } } // 文本框: <input type="text" maxlength="8" Class="input" name="txtName" onkeypress="return onlyNumber(event)" style="ime-mode:Disabled" size="25"/> /* 禁止提交非小数或非整数,需要三个步骤: 1.文本框事件 onkeypress="return onlyNumber(event)" 2.文本框样式 style="ime-mode:Disabled" 3.在提交函数save()里,添加 if (validateNumber('txtName')){ document.form1.submit(); } */ //如果包含非数字,则返回false。允许输入小数点 function validateNumber() { var len = arguments.length; var flag = true; for (var i = 0; i < arguments.length; i++) { flag = numericCheck(arguments[i]); } return flag; } //作用:只允许输入数字,并提示发现若干个个不可接受的字符 function numericCheck(parameter) { var el = document.getElementById(parameter); nr1 = document.getElementById(parameter).value; flg = 0; str = ""; spc = ""; arw = ""; for (var i = 0; i < nr1.length; i++) { cmp = ".0123456789"; tst = nr1.substring(i, i + 1); if (cmp.indexOf(tst) < 0) { flg++; str += " " + tst; spc += tst; arw += "^"; } else { arw += "_"; } } if (flg != 0) { if (spc.indexOf(" ") > -1) { str += "和空格"; } var prevNode = el.parentNode.previousSibling.innerText; alert(prevNode+"只允许输入数字,发现" +flg+"个不可接受的字符/n"); el.select(); el.focus(); return false; } else { return true; } } //作用:判断日期是否合法,能够有效的验证闰年,支持的日期格式有:2009-01-01、2009/01/01两种格式 //参数:dateValue function IsDate(dateValue) { var regex = new RegExp("^(?:(?:([0-9]{4}(-|/)(?:(?:0?[1,3-9]|1[0-2])(-|/)(?:29|30)|((?:0?[13578]|1[02])(-|/)31)))|([0-9]{4}(-|/)(?:0?[1-9]|1[0-2])(-|/)(?:0?[1-9]|1//d|2[0-8]))|(((?:(//d//d(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))(-|/)0?2(-|/)29))))$"); if (!regex.test(dateValue)) { return false; } else { return true; } } //作用:比较日期,目前只支持“年-月-日”格式,如果sEndDate晚于sBeginDate,返回true, //参数:sBeginDate // sEndDate function compareDate(sBeginDate, sEndDate) { var strdt1 = sBeginDate.replace("-", "/"); var strdt2 = sEndDate.replace("-", "/"); var dt1 = new Date(Date.parse(strdt1)); var dt2 = new Date(Date.parse(strdt2)); if (dt1 <= dt2) { return true; } else { return false; } } //===========验证函数 end //字符串操作函数 String.prototype.trim = function () { return this.replace(/(^/s*)|(/s*$)/g, ""); }; String.prototype.ltrim = function () { return this.replace(/(^/s*)/g, ""); }; String.prototype.rtrim = function () { return this.replace(/(/s*$)/g, ""); }; //作用:删除左右两端的空格 //参数:str,待处理的字符串 function trim(str) { return str.replace(/(^/s*)|(/s*$)/g, ""); } //作用:删除左边的空格 //参数:str,待处理的字符串 function ltrim(str) { return str.replace(/(^/s*)/g, ""); } //作用:删除右边的空格 //参数:str,待处理的字符串 function rtrim(str) { return str.replace(/(/s*$)/g, ""); } //作用:去除左右空格,判断得出值的长度是否为0,是则true,大于0则false //参数:value function ifValueLengthIsZero(value) { var v = trim(value); if (v.length < 1) { return true; } return false; } //作用:字符串操作函数,数字校检 //使用范例:<input type="text" name="Code" size="10" maxlength="6" OnKeyPress="Javascript:NumInputOnly();" function NumInputOnly() { if (event.keyCode > 57 || event.keyCode < 48) { event.keyCode = 0; } } //作用:判断是否为输入整数 //参数:s,传入字符串 function isInt(s) { if (s.value == "") { return true; } var chk = parseInt(s.value, 10); if (chk != s.value || chk < 0) { alert("该字段应是正整数!"); s.focus(); s.select(); return false; } return true; } //作用:浮点数输入判断 //参数:obj传入参数 function isFloat(obj) { if (obj.value == "") { return true; } var chk = parseFloat(obj.value); if (chk != obj.value) { alert("该字段应是整数或小数!"); obj.focus(); obj.select(); return false; } return true; } //作用:获得字符串串长度 //参数:value,传入字符串 function strLen(value) { var str, Num = 0; for (var i = 0; i < value.length; i++) { str = value.substring(i, i + 1); if (str <= "~") { Num += 1; } else { Num += 2; } } return Num; } //作用:最小长度 (不能为空) //参数:value,传入字符串 function vMinlength(obj, minlength) { if (trim(obj.value).length < minlength) { obj.focus(); obj.select(); return false; } return true; } //作用:最大长度 (不能为空) //参数:value,传入字符串 function vMaxlength(obj, maxlength) { if (trim(obj.value).length > maxlength) { obj.focus(); obj.select(); return false; } return true; } //作用:判断输入时是否超过了数据库设定的字符长度 //参数:Str,页面上的字段 // ValidStrLength,数据库设置的长度 // StrName,表示是什么字段名称 //调用指南: /* if (!TrueLength(vcjlzdbdh.value,50,"证书编号")){ vcjlzdbdh.focus(); return(false); } 若超过长度,则会弹出“您输入的 证书编号 长度超过最大允许值。”的提示 */ function TrueLength(Str, ValidStrLength, StrName) { var r; var i; var count = 0; var ret; for (i = 0; i < Str.length; i++) { r = Str.charCodeAt(i, 1); if (r > 255) { count = count + 2; } else { count = count + 1; } } if (count > ValidStrLength) { alert("您输入的 "+StrName+" 长度超过最大允许值。"); ret = false; } else { ret = true; } return ret; }
相关文章推荐
- html中常用JavaScript验证表单文本域方法,如日期、字符串、数字等
- javascript学习之日期 字符串(19)—— 字符串 常用方法(下)
- JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
- JavaScript表单验证程序(http地址 时间日期 e-mail 数字 字符长度检查等)
- javascript学习之日期 字符串(17)—— 字符串 常用方法(上)
- Android工具类,一些方法电话正则,是否为空,日期格式化,星期,车牌,身份证校验,设置地区编码,验证日期字符串是否是YYYY-MM-DD格式,判断字符串是否为数字
- javascript学习之日期 字符串(15)—— 时间和日期 常用方法
- JavaScript中常用表单验证方法
- 常用javascript表单验证方法
- javascript学习之日期 字符串(18)—— 字符串 常用方法(中)
- 使用JavaScript验证数字和字符串和表单或焦点
- Javascript 检查字符串是否是数字的几种方法
- 常用JavaScript字符串方法简述
- Java中Calendar类的简单使用方法,以及日期格式化的方法,字符串日期格式的验证
- 一个简单的HTML表单及JavaScript验证
- JavaScript验证字符串只能包含数字或者英文字符的代码实例
- 网页表单的javascript集成验证方法举例
- javascript常用日期验证
- JavaScript--字符串常用方法总结