javascript实现表单验证

这个功能我感觉以后会经常用到的,因为这样直接在网页上判断是一个十分简便的方法。
<!DOCTYPE html>
<html>
<head>
<title>表单注册和验证</title>
<script type="text/javascript">
 function isEmail(){
	     var atindex=theStr.indexOf('@');
		 var dotindex=theStr.indexOf('.',atindex);
		 var flag=true;
		 thesub=theStr.substring(0,dotindex+1);
		 
		 if((atindex<1)||(atindex!=theStr.lastIndexOf('@'))|| (dotindex<atindex+2)||(theStr.length<=thesub.length)){
		     flag=false;
		 }else{
		    flag=true;
		 }
		 return flag;
	 }

  function check(){
     fr=document.form1;
	 if(fr.uid.value==""){
	    alert("用户ID必须要填写!");
		fr.uid.focus();
		return false;
	 }
	 if((fr.pwd1.value!="")||(fr.pwd2.value!="")){
	     if(fr.pwd1.value!=fr.pwd2.value){
		     alert("密码不一致,请重新输入并验证密码!");
			 fr.pwd1.focus();
			 return false;
		 }
	 }else{
	    alert("密码不能为空!");
		fr.pwd1.focus();
		return false;
	 }
	 if(fr.gender.value==""){
	    alert("性别必须要填!");
		fr.name.focus();
		return false;
	 }
	 if(fr.email.value!=""){
	    if(!isEmail(fr.email.value)){
		   alert("请输入正确的邮件名称!");
		   fr.email.focus();
		   return false;
		}
	 }
	 fr.submit();
  }
</script>
</head>
<body>
<form name="form1" id="form1" method="post" action="" >
   <table border=1 align="center" width="350">
   <tr align="middle"><th colspan="2" height="24">新用户注册</th></tr>
   <tr><td width="40%"><b>用 户 名</b>:</td>
   <td width="60%"><input maxlength="10" size="30" name="uid" type="text"></td>
   </tr>
   <tr><td><b>性    别</b>:</td>
   <td><input type="radio" value="boy" name="gender">男孩
   <input type="radio" value="girl" name="gender">女孩</td></tr>
   <tr><td><b>密    码</b>:</td>
   <td><input name="pwd1" type="password" size="32"></td></tr>
   <tr><td><b>确认密码</b>:</td>
   <td><input name="pwd2" type="password" size="32"></td></tr>
   <tr><td><b>密码问题</b>:</td>
   <td><input type="text" size="30" name="question" type="text"></td></tr>
   <tr><td><b>问题答案</b>:</td>
   <td><input type="text" size="30" name="answer" type="text"></td></tr>
   <tr><td><b>Email</b>:</td>
   <td><input maxlength="50" size="30" name="email" type="text"></td></tr>
   <tr><td><b>联系电话</b>:</td>
   <td><input maxlength="50" size="30" name="tel" type="text"</td></td></tr>
   <tr><td><b>职    业</b>:</td>
   <td><select name="career" class="input1"/>
   <option value="student" selected="selected">学生</option>
   <option value="teacher">老师</option>
   <option value="worker">工人</option>
   <option value="famer">农民</option>
   <option value="business">商人</option>
   </td>
   </tr><tr>
   <td></td><td><input type="submit" value="注册" name="submit" onClick="return check()">
   <input type="reset" value="清除" name="submit2"></td></tr>
   </table>
   </form>
</body>
</html>

posted @   wojiaohuangyu  阅读(6)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示