`
JAVA天地
  • 浏览: 673750 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

根据自定类型,采用JAVASCRIPT方便进行数据完整性验证,所有页面都可以通用

阅读更多

页面输入完整性是编写BS经常遇到的问题,如果那里需要就到那里写,那可是要花不少的时候,并且造成不必要的浪费,下面是一个通过校验脚本,使用非常方便,通过传入FORM名就可以进行校验,通过在页面控件中增加用户本身自定义属性,进行方便的验证,包括数字的输入、密码的输入、EMAIL的输入,用户本身可以进行无限的扩展,使用如下,在页面中加入如下代码:

  1. <formname="form1">
  2. <inputtype="text"name="t1"req="0"size="20"><br>
  3. <inputtype="text"name="t2"req="0"size="20"><br>
  4. <inputtype="text"name="t3"req="0"size="20"><br>
  5. <inputtype="text"name="t4"req="1"size="20"><br>
  6. <inputtype="text"name="t5"req="1"customtype="email"displayname="电子邮件"size="20"><br>
  7. <inputtype="button"name="bt"value="check"onclick="checkForm(document.form1)">
  8. </form>

并在页头加以包含以下代码的JS脚本:

  1. varcustomtypes=newArray("num","plus","int","email","link","password","name","date","money","date8");
  2. varcustommessage=newArray(
  3. "不是一个有效的数字。",
  4. "不是一个有效的正整数。",
  5. "不是一个有效的整数。",
  6. "不是一个有效的电子邮件地址。",
  7. "不是一个有效的链接,请确认输入了完整的地址,例如http://www.cnlist.com。",
  8. "不是一个有效的密码,密码只能使用字母、下划线与数字,不能包含符号与空格。",
  9. "不是一个有效的名称,名称只能使用字母、下划线与数字,不能包含符号与空格。",
  10. "不是一个有效的日期。",
  11. "不是一个有效的money格式。",
  12. "不是一个有效的8位日期,如:20050801。"
  13. );
  14. functioncheckForm(oForm){
  15. window.event.returnValue=false;
  16. for(vari=0;i<oForm.all.tags("input").length;i++){
  17. varele=oForm.all.tags("input")[i];
  18. varct=ele.getAttribute("customtype");
  19. varreq=ele.getAttribute("req");
  20. vardn=ele.getAttribute("displayname");
  21. if(null==dn){
  22. dn=ele.name;
  23. }
  24. dn="“"+dn+"”";
  25. if(ele.value!=null){
  26. ele.value=ele.value.replace(/%/g,"%");
  27. }
  28. varnr=newString(ele.value);
  29. if("1"==req){
  30. if(nr.length<1){
  31. alert(dn+"不可以省略,请重新输入。");
  32. //ele.focus();
  33. focusIt(ele);
  34. returnfalse;
  35. }
  36. }
  37. if((''==req||'0'==req||null==req)&&(ele.value==""))continue;//不必要且没有输入时,下一个
  38. if(((""==req)||(null==ct))&&(ele.value==""))continue;
  39. //检查自定义类型
  40. //纠正自定义类型在req不等于1时仍要求输入的bug
  41. if(("1"==req)||(nr.length>0)){
  42. for(varj=0;j<customtypes.length;j++){
  43. if(ct==customtypes[j]){
  44. if(ct=="money"){
  45. eval("varrtn=check_"+customtypes[j]+"(ele);");
  46. }else{
  47. eval("varrtn=check_"+customtypes[j]+"(ele.value);");
  48. }
  49. if(!rtn){
  50. alert(dn+custommessage[j]);
  51. //ele.focus();
  52. focusIt(ele);
  53. returnfalse;
  54. }
  55. }
  56. }
  57. }
  58. }
  59. window.event.returnValue=true;
  60. returntrue;
  61. }
  62. functioncheck_money(s){
  63. s.value=s.value.replace(/,/g,"")
  64. varre=/^(\+|-)?\d+(.\d+)?$/i;
  65. returnre.test(s.value);
  66. }
  67. functioncheck_email(s){
  68. varre=/^\w+@(\w)+((.(\w)+)+)?$/i;
  69. returnre.test(s);
  70. }
  71. functioncheck_num(s){
  72. varre=/^(\+|-)?\d+(.\d+)?$/i;
  73. returnre.test(s);
  74. }
  75. functioncheck_int(s){
  76. varre=/^(\+|-)?\d+$/i;
  77. returnre.test(s);
  78. }
  79. functioncheck_plus(s){
  80. varre=/^[1-9]\d*$/i
  81. returnre.test(s);
  82. }
  83. functioncheck_link(s){
  84. varre=/^(http|mailto|ftp|https|telnet):\/{2}/i;
  85. returnre.test(s);
  86. }
  87. functioncheck_password(s){
  88. varre=/^\w+$/i;
  89. returnre.test(s);
  90. }
  91. functioncheck_name(s){
  92. returncheck_password(s);
  93. }
  94. functioncheck_date8(DateString){
  95. returnisDateEight(DateString);
  96. }
  97. //日期检测
  98. functioncheck_date(DateString){
  99. if(DateString==null)returnfalse;
  100. if(Dilimeter==''||Dilimeter==null)
  101. varDilimeter='-';
  102. if(Dilimeter.indexOf("/")>0)
  103. {
  104. Dilimeter="/";
  105. }
  106. vartempy='';
  107. vartempm='';
  108. vartempd='';
  109. vartempH="";
  110. vartempM="";
  111. vartempS="";
  112. vartempymd="";
  113. vartemphms="";
  114. vartempArray;
  115. if(DateString.length<8&&DateString.length>19){
  116. returnfalse;
  117. }
  118. if(DateString.indexOf("")>0)
  119. {
  120. temp=DateString.split("");
  121. tempymd=temp[0];
  122. temphms=temp[1];
  123. }
  124. else
  125. {
  126. tempymd=DateString;
  127. temphms="00:00:00";
  128. }
  129. tempArray=tempymd.split(Dilimeter);
  130. if(tempArray.length!=3){
  131. returnfalse;
  132. }
  133. if(tempArray[0].length==4)
  134. {
  135. tempy=tempArray[0];
  136. tempd=tempArray[2];
  137. tempm=tempArray[1];
  138. }
  139. else
  140. {
  141. tempy=tempArray[2];
  142. tempd=tempArray[1];
  143. tempm=tempArray[0];
  144. }
  145. tempArray=temphms.split(":");
  146. if(tempArray.length>3||tempArray.length<2){
  147. returnfalse;
  148. }
  149. switch(tempArray.length){
  150. case2:
  151. tempH=tempArray[0];
  152. tempM=tempArray[1];
  153. tempS="00";
  154. break;
  155. case3:
  156. tempH=tempArray[0];
  157. tempM=tempArray[1];
  158. tempS=tempArray[2];
  159. break;
  160. }
  161. vartDateString=tempy+'/'+tempm+'/'+tempd+''+tempH+":"+tempM+":"+tempS;
  162. vartempDate=newDate(tDateString);
  163. if(isNaN(tempDate)){
  164. returnfalse;
  165. }
  166. if((tempDate.getYear().toString()==tempy||tempDate.getYear()==parseInt(tempy,10)-1900)
  167. &&(tempDate.getMonth()==parseInt(tempm,10)-1)
  168. &&(tempDate.getDate()==parseInt(tempd,10))
  169. &&(tempDate.getHours().toString()==parseInt(tempH,10))
  170. &&(tempDate.getMinutes().toString()==parseInt(tempM,10))
  171. &&(tempDate.getSeconds().toString()==parseInt(tempS,10)))
  172. {
  173. returntrue;
  174. }
  175. else
  176. {
  177. alert('tDateString='+tDateString);
  178. returnfalse;
  179. }
  180. }
  181. //激活输入组件的焦点
  182. functionfocusIt(obj){
  183. try{
  184. varele=mtb;
  185. }catch(e){
  186. try{
  187. obj.focus();
  188. return;
  189. }catch(e){
  190. return;
  191. }
  192. }
  193. for(vari=0;i<ele.length;i++){
  194. swH(i);
  195. try{
  196. obj.focus();
  197. }catch(e){
  198. continue;
  199. }
  200. break;
  201. }
  202. try{
  203. obj.focus();
  204. }catch(e){
  205. returnfalse;
  206. }returntrue;
  207. }

分享到:
评论

相关推荐

    html表单和数据完整性

    #### 数据完整性与验证 数据完整性是指确保数据准确无误的过程。在Web表单中,这通常涉及以下方面: - **前端验证**:使用JavaScript对用户输入进行实时检查,确保数据格式正确。 - **后端验证**:服务器端的验证...

    基于Vue表单通用验证插件

    6. **批量验证**:除了单个字段验证,插件可能还支持对整个表单或者一组字段进行批量验证,这对于提交表单前的完整性检查非常有用。 7. **与Vuex集成**:如果项目使用了Vuex进行状态管理,验证插件应能与Vuex无缝...

    javascript

    5. **AJAX异步验证**:如果需要验证的数据需要与服务器交互,可以使用Ajax技术发送请求,获取服务器的验证结果,而无需刷新整个页面。 在压缩包内的“验证”文件中,我们可以期待找到一个或多个这样的JavaScript...

    JavaScript实现仿网易通行证表单验证

    这样做可以提高数据的准确性,避免提交无效或不完整的数据,同时也提升了用户体验。 在HTML层面,网易通行证的注册页面会包含多个表单元素,如用户名、密码、邮箱、手机号等,这些字段都需要根据实际业务逻辑来设置...

    Javascript教程--从入门到精通【完整版】

    例如,用户在输入表单时,JavaScript可以立即验证输入是否合法,及时给出反馈。 #### 二、JavaScript的历史背景 **2.1 Internet技术的发展** 随着Internet技术的迅猛发展,各行各业都在积极探索如何利用这一平台...

    常用javascript效验

    10. **数据集操作验证**:`dataset.js`可能处理的是数据集合的验证,比如在处理多条记录时,确保数据的完整性和一致性。 以上这些JavaScript文件共同构成了一个完整的客户端验证框架,涵盖了多种常见的验证场景,...

    银行及对应的简码json数据

    1. **数据完整性**:确保每个银行的名称与简码都有对应,没有遗漏或重复。 2. **格式规范**:JSON数据必须遵循特定的语法,比如键必须用双引号括起来,键值对之间用逗号分隔等。 3. **安全问题**:由于涉及到敏感的...

    VB6.0 RSA/AES/Md5/Base64加密 解密 微信小程序 javascript 通用

    MD5主要用于验证数据的完整性和一致性,但因为存在碰撞问题(两个不同的输入可能得到相同的输出),在安全性要求高的场景下已不再推荐使用。 4. **Base64**是一种编码方式,将二进制数据转换为可打印的ASCII字符,...

    通用的会员注册表单验证ui布局.zip

    同时,JavaScript还可以实现动态效果,如禁用提交按钮直到所有必填字段都填写完整。 5. **CSS**: CSS负责定义网页的样式和布局。在这个注册表单中,可能会使用到CSS选择器来定位特定元素,设置字体、颜色、大小、...

    JavaScript经典实例

     1.2连接字符串和另一种数据类型  1.3条件比较字符串  1.4在字符串中查找子字符串  1.5从一个字符串提取子字符串  1.6检查一个存在的、非空的字符串  1.7将一个关键字字符串分解为单独的关键字  1.8插入特殊...

    php通用网站后台管理.

    在后台管理系统中,数据库设计至关重要,包括表格结构、字段类型选择、索引创建等,都是确保系统性能和数据安全的基础。 jQuery是一个JavaScript库,它简化了JavaScript的DOM操作、事件处理和动画制作。在这里,...

    通用查询,保存方法

    通用查询通常是指设计一个可以处理多种数据表、多类型查询条件的模块,而通用保存方法则是指提供一个统一的接口来处理数据的新增或更新操作。下面我们将深入探讨这两个概念及其在实际应用中的实现。 首先,通用查询...

    个人博客静态页面分享

    这些页面是通过CSS+DIV布局技术实现的,同时利用JavaScript进行了数据验证,以确保用户交互的顺畅性和安全性。 首先,HTML(HyperText Markup Language)是网页的基础,用于定义网页内容结构。在这个博客项目中,...

    通用企业小程序源码完整带后台通用企业.zip

    "完整"暗示了所有必要的文件和组件都在这个压缩包中,用户可以进行直接开发或二次定制。".zip" 是一个常见的文件压缩格式,表明源码和其他相关文件被打包在一起。 【描述解析】 描述与标题相同,再次强调这是一个...

    包含HTML,DIV+CSS,JavaScript 的网站项目

    例如,可以使用JavaScript检查邮箱地址的合法性,或者在用户提交表单前验证必填字段。JavaScript代码通常嵌入在HTML文件的`&lt;script&gt;`标签中,或作为外部`.js`文件引用。 在"Pages"文件夹中,可能包含多个HTML页面,...

    通用网站后台管理系统模板

    这些页面都是预先设计和编码完成的,开发者只需根据实际业务逻辑进行适当的定制和数据对接。例如,登录页面可能包含了用户名和密码输入框,以及登录按钮,通过AJAX技术实现无刷新验证;仪表盘页面则会展示关键业务...

    JavaScript中通用的两个非空检测函数

    ### JavaScript中通用的两个非空检测函数 在前端开发领域,特别是使用JavaScript进行表单验证时...4. **异步验证**:在某些情况下,可能还需要对输入的数据进行服务器端的验证,这时可以使用AJAX等技术实现异步验证。

    万能表单验证

    服务器端验证应始终确保数据的完整性和安全性。 6. **自定义验证规则**:对于特定业务需求,开发者可以创建自定义验证规则。例如,如果一个表单要求用户输入的ID是唯一的,可以编写一个函数来检查数据库中是否存在...

    JS实现的通用表单验证插件完整实例

    本文介绍了一个使用JavaScript实现的通用表单验证插件实例,该插件可以对常见的表单元素,如日期、密码和姓名等进行校验,并在不符合验证规则时给出相应的提示信息。 首先,通用表单验证插件的实现方式主要是通过...

Global site tag (gtag.js) - Google Analytics