html中常用JavaScript验证表单文本域方法,如日期、字符串、数字等

  1. //===========验证函数 start 
  2. var isIE = false
  3. var isFF = false
  4. var isSa = false
  5. if ((navigator.userAgent.indexOf("MSIE") > 0) && (parseInt(navigator.appVersion) >= 4)) { 
  6.     isIE = true
  7. if (navigator.userAgent.indexOf("Firefox") > 0) { 
  8.     isFF = true
  9. if (navigator.userAgent.indexOf("Safari") > 0) { 
  10.     isSa = true
  11.  
  12. //作用:控制职能输入数字 
  13. function onlyNumber(e) { 
  14.     var key; 
  15.     iKeyCode = window.event ? e.keyCode : e.which; 
  16.     if (!(((iKeyCode >= 48) && (iKeyCode <= 57)) || (iKeyCode == 13) || (iKeyCode == 46) || (iKeyCode == 45) || (iKeyCode == 37) || (iKeyCode == 39) || (iKeyCode == 8))) { 
  17.         if (isIE) { 
  18.             e.returnValue = false
  19.         } else
  20.             e.preventDefault(); 
  21.         } 
  22.     } 
  23.  
  24. // 文本框: <input type="text" maxlength="8" Class="input" name="txtName" οnkeypress="return onlyNumber(event)" style="ime-mode:Disabled"  size="25"/> 
  25. /*
  26. 禁止提交非小数或非整数,需要三个步骤:
  27. 1.文本框事件 οnkeypress="return onlyNumber(event)"
  28. 2.文本框样式 style="ime-mode:Disabled"
  29. 3.在提交函数save()里,添加
  30.   if (validateNumber('txtName')){
  31.        document.form1.submit();
  32.     }
  33. */ 
  34. //如果包含非数字,则返回false。允许输入小数点 
  35. function validateNumber() { 
  36.     var len = arguments.length; 
  37.     var flag = true
  38.     for (var i = 0; i < arguments.length; i++) { 
  39.         flag = numericCheck(arguments[i]); 
  40.     } 
  41.     return flag; 
  42.  
  43. //作用:只允许输入数字,并提示发现若干个个不可接受的字符 
  44. function numericCheck(parameter) { 
  45.     var el = document.getElementById(parameter); 
  46.     nr1 = document.getElementById(parameter).value; 
  47.     flg = 0; 
  48.     str = ""
  49.     spc = ""
  50.     arw = ""
  51.     for (var i = 0; i < nr1.length; i++) { 
  52.         cmp = ".0123456789"
  53.         tst = nr1.substring(i, i + 1); 
  54.         if (cmp.indexOf(tst) < 0) { 
  55.             flg++; 
  56.             str += " " + tst; 
  57.             spc += tst; 
  58.             arw += "^"
  59.         } else
  60.             arw += "_"
  61.         } 
  62.     } 
  63.     if (flg != 0) { 
  64.         if (spc.indexOf(" ") > -1) { 
  65.             str += "和空格"
  66.         } 
  67.         var prevNode = el.parentNode.previousSibling.innerText; 
  68.         alert(prevNode+"只允许输入数字,发现" +flg+"个不可接受的字符/n"); 
  69.         el.select(); 
  70.         el.focus(); 
  71.         return false
  72.     } else
  73.         return true
  74.     } 
  75.  
  76. //作用:判断日期是否合法,能够有效的验证闰年,支持的日期格式有:2009-01-01、2009/01/01两种格式 
  77. //参数:dateValue 
  78. function IsDate(dateValue) { 
  79.     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))))$"); 
  80.     if (!regex.test(dateValue)) { 
  81.         return false
  82.     } else
  83.         return true
  84.     } 
  85.  
  86. //作用:比较日期,目前只支持“年-月-日”格式,如果sEndDate晚于sBeginDate,返回true, 
  87. //参数:sBeginDate 
  88. //     sEndDate 
  89. function compareDate(sBeginDate, sEndDate) { 
  90.     var strdt1 = sBeginDate.replace("-", "/"); 
  91.     var strdt2 = sEndDate.replace("-", "/"); 
  92.     var dt1 = new Date(Date.parse(strdt1)); 
  93.     var dt2 = new Date(Date.parse(strdt2)); 
  94.     if (dt1 <= dt2) { 
  95.         return true
  96.     } else
  97.         return false
  98.     } 
  99.  
  100. //===========验证函数 end 
  101.  
  102. //字符串操作函数 
  103. String.prototype.trim = function () { 
  104.     return this.replace(/(^/s*)|(/s*$)/g, ""); 
  105. }; 
  106. String.prototype.ltrim = function () { 
  107.     return this.replace(/(^/s*)/g, ""); 
  108. }; 
  109. String.prototype.rtrim = function () { 
  110.     return this.replace(/(/s*$)/g, ""); 
  111. }; 
  112.  
  113.  
  114. //作用:删除左右两端的空格 
  115. //参数:str,待处理的字符串 
  116. function trim(str) { 
  117.     return str.replace(/(^/s*)|(/s*$)/g, ""); 
  118.  
  119. //作用:删除左边的空格 
  120. //参数:str,待处理的字符串 
  121. function ltrim(str) { 
  122.     return str.replace(/(^/s*)/g, ""); 
  123.  
  124. //作用:删除右边的空格 
  125. //参数:str,待处理的字符串 
  126. function rtrim(str) { 
  127.     return str.replace(/(/s*$)/g, ""); 
  128.  
  129. //作用:去除左右空格,判断得出值的长度是否为0,是则true,大于0则false 
  130. //参数:value 
  131. function ifValueLengthIsZero(value) { 
  132.     var v = trim(value); 
  133.     if (v.length < 1) { 
  134.         return true
  135.     } 
  136.     return false
  137.  
  138. //作用:字符串操作函数,数字校检 
  139. //使用范例:<input type="text" name="Code" size="10" maxlength="6" OnKeyPress="Javascript:NumInputOnly();" 
  140. function NumInputOnly() { 
  141.     if (event.keyCode > 57 || event.keyCode < 48) { 
  142.         event.keyCode = 0; 
  143.     } 
  144.  
  145. //作用:判断是否为输入整数 
  146. //参数:s,传入字符串 
  147. function isInt(s) { 
  148.     if (s.value == "") { 
  149.         return true
  150.     } 
  151.     var chk = parseInt(s.value, 10); 
  152.     if (chk != s.value || chk < 0) { 
  153.         alert("该字段应是正整数!"); 
  154.         s.focus(); 
  155.         s.select(); 
  156.         return false
  157.     } 
  158.     return true
  159.  
  160. //作用:浮点数输入判断 
  161. //参数:obj传入参数 
  162. function isFloat(obj) { 
  163.     if (obj.value == "") { 
  164.         return true
  165.     } 
  166.     var chk = parseFloat(obj.value); 
  167.     if (chk != obj.value) { 
  168.         alert("该字段应是整数或小数!"); 
  169.         obj.focus(); 
  170.         obj.select(); 
  171.         return false
  172.     } 
  173.     return true
  174.  
  175. //作用:获得字符串串长度 
  176. //参数:value,传入字符串 
  177. function strLen(value) { 
  178.     var str, Num = 0; 
  179.     for (var i = 0; i < value.length; i++) { 
  180.         str = value.substring(i, i + 1); 
  181.         if (str <= "~") { 
  182.             Num += 1; 
  183.         } else
  184.             Num += 2; 
  185.         } 
  186.     } 
  187.     return Num; 
  188.  
  189. //作用:最小长度  (不能为空) 
  190. //参数:value,传入字符串 
  191. function vMinlength(obj, minlength) { 
  192.     if (trim(obj.value).length < minlength) { 
  193.         obj.focus(); 
  194.         obj.select(); 
  195.         return false
  196.     } 
  197.     return true
  198.  
  199. //作用:最大长度  (不能为空) 
  200. //参数:value,传入字符串 
  201. function vMaxlength(obj, maxlength) { 
  202.     if (trim(obj.value).length > maxlength) { 
  203.         obj.focus(); 
  204.         obj.select(); 
  205.         return false
  206.     } 
  207.     return true
  208.  
  209. //作用:判断输入时是否超过了数据库设定的字符长度 
  210. //参数:Str,页面上的字段 
  211. //     ValidStrLength,数据库设置的长度 
  212. //     StrName,表示是什么字段名称 
  213. //调用指南: 
  214. /*  if (!TrueLength(vcjlzdbdh.value,50,"证书编号")){
  215.         vcjlzdbdh.focus();
  216.         return(false);
  217.     }
  218.     若超过长度,则会弹出“您输入的 证书编号 长度超过最大允许值。”的提示
  219. */ 
  220. function TrueLength(Str, ValidStrLength, StrName) { 
  221.     var r; 
  222.     var i; 
  223.     var count = 0; 
  224.     var ret; 
  225.     for (i = 0; i < Str.length; i++) { 
  226.         r = Str.charCodeAt(i, 1); 
  227.         if (r > 255) { 
  228.             count = count + 2; 
  229.         } else
  230.             count = count + 1; 
  231.         } 
  232.     } 
  233.     if (count > ValidStrLength) { 
  234.         alert("您输入的 "+StrName+" 长度超过最大允许值。"); 
  235.         ret = false
  236.     } else
  237.         ret = true
  238.     } 
  239.     return ret; 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值