JavaScript用于表单验证(1)
2013-09-03 23:59
92 查看
本人是JS初学者,今天调试了一段JS表单验证代码,感觉收获颇多,第一次写博客,算是做个小小的纪念哈
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript"> <!--验证邮政编码格式的函数--> function validateZipCode1(inputFormElement,helpTextElement){ <!--查看输入的邮编是不是6个数字--> if((inputFormElement.value.length==6) && (!isNaN(inputFormElement.value))){ if(helpTextElement!=null){ helpTextElement.innerHTML='输入正确'; } return true; } else{ if(helpTextElement!=null){ helpTextElement.innerHTML='输入错误(提示:邮编应为6位数字)'; } return false; } } function validateZipCode2(inputField,helpText){ <!--类似的用input.value.length==0可以验证其他input输入框的输入是否为空--> if(inputField.value.length!=6){ if(helpText!=null){ helpText.innerHTML="邮编长度应为6"; } return false; } else if(isNaN(inputField.value)){ if(helpText!=null){ helpText.innerHTML="邮编应为数字"; } return false; } else{ if(helpText!=null){ helpText.innerHTML="输入正确"; } return true; } } <!--用户即便输入了错误格式信息依然有可能想服务器提交,所以还需要进行最后一步验证--> <!--validateForm函数要求传入一个form对象以检验其中包含的表单域--> <!--从此处form["zipcode"],form["zipcode_help_msg"]可以看出表单中的表单输入域也是对象--> function validateForm(form){ <!--validateZipCode函数的返回值在此处发挥了很大的作用,为表单输入域子验证函数添加返回值是个好做法--> if(validateZipCode1(form["zipcode"],form["zipcode_help_text"]) && validateDate(form["date"],form["date_help_text"])){ alert('填写成功'); form.submit();<!--如果所有子表单输入域验证成功则调用form对象的submit方法将数据提交至服务器--> } else{ alert('表单数据填写有误'); } } <!--创建一个全功能的正则表达式验证工具函数,再根据实际验证需求‘封装’到具体的表单输入域验证函数中去--> function validateRegExprr1(regExprr,inputStr,helpText,helpMsg1,helpMsg2){ if(!regExprr.test(inputStr)){ <!--var regExprr=/....../,RegExp正则表达式对象自动创建--> if(helpText!=null){ helpText.innerHTML=helpMsg1; } return false; } else{ if(helpText!=null){ helpText.innerHTML=helpMsg2; } } } function validateRegExprr2(regExprr,inputField,helpText,helpMsg1,helpMsg2){ if(!regExprr.test(inputField.value)){ if(helpText!=null){ helpText.innerHTML=helpMsg1; } return false; } else{ if(helpText!=null){ helpText.innerHTML=helpMsg2; } return true; } } <!--日期输入格式提示函数--> function inputHelpDate(inputHelpText){ if(inputHelpText!=null){ inputHelpText.innerHTML='日期格式为:20/01/2010或20/01/10' } } <!--日期格式验证函数--> function validateDate(inputField,helpText){ return validateRegExprr2(/^\d{2}\/\d{2}\/(\d{2}|\d{4})$/,inputField,helpText,'日期格式错误,应为:20/03/2013或20/03/13','格式正确'); } </script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js用于表单数据验证</title> </head> <body> <form action="a.php" method="get"> <!--onblur用于在对应的input输入框失去焦点时触发--> <!--this用于表示当前输入框对象,document.getElementById('');用于关联该输入框对应的帮助信息--> 邮政编码:<input id="zipcode" name="zipcode" type="text" size="6" alt="邮政编码" onblur="validateZipCode1(this,document.getElementById('zipcode_help_text'));" /> <!--将输入框帮助信息help_msg归类,以便在css中统一帮助信息的样式--> <span id="zipcode_help_text" class="help_text"></span><br /> 日期:<input id="date" name="date" type="text" size="6" alt="日期" onfocus="inputHelpDate(document.getElementById('date_help_text'));" onblur="validateDate(this,document.getElementById('date_help_text'));" /> <span id="date_help_text" class="help_text"></span><br /> <!--即便出现错误帮助信息提示,用户还是有可能将包含错误数据的表单提交至服务器,所以还需要进行提交前数据检验的处理--> <!--通过this当前input框对象可以访问其所在form对象--> <!--使用validateForm函数将普通表单按钮做出js版的submit按钮--> <input type="button" value="提交数据" onclick="validateForm(this.form);" /> </form> </body> </html>
相关文章推荐
- javascript 表单验证和button跳转
- 技能测试3:javascript表单验证入库
- 表单提交验证的javascript
- 关于注册和登录表单JavaScript验证
- 一句话JavaScript表单验证代码
- Yii应用中用于注册的表单验证规则
- javascript+正则表达式 表单验证
- 10个强大的Javascript表单验证插件
- Javascript表单验证要注意的事项
- 使用JavaScript验证表单
- javascript表单验证之普通验证
- javascript提交验证表单大全
- javascript完整表单验证
- javascript 表单验证常见正则
- ASP动态生成的javascript表单验证代码
- javascript 正则表达式验证表单信息(光标离开会判断是否符合规定,不符合会提示)
- javascript: with 表单验证
- JavaScript表单即时验证 验证不成功不能提交
- JavaScript验证表单函数大全
- JavaScript表单验证和邮箱格式验证的方法