JavaScript 之表单验证(表单验证器的封装)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
        <title>Copy of formReg</title>
        <script src="util/util.js">
        </script>
        <script>
			
			//封装一个万能表单验证器validForm()
			function validForm(EleName,EleSpanName,NullMsg,ErrMsg,RegexInfo) {
				var flag = true;
				var username = $(EleName).value.trim();
            	if (!username) {
            		$(EleSpanName).innerHTML=NullMsg;
            		flag = false;
            	}
            	else{
            		var unameRegex = RegexInfo;
            		if (!unameRegex.test(username)){
            			$(EleSpanName).innerHTML=ErrMsg;
            			flag = false;
            		}
            	}
            	return flag; 
			}
			
			function validateForm(){
				var flagOut=validForm("#uname","#unameSpan",
						  "\t用户名不能为空!","\t用户名 中文 长度 3-10!",
						  /^[\u4E00-\u9FA5]{3,8}$/ig);
				flagOut=flagOut&&validForm("#email","#emailSpan",
						  "\t邮箱名不能为空!","\t邮箱格式不正确!",
						  /^\w+@[a-z1-9]{2,5}(\.[a-z]{2,3}){1,2}$/ig);
				flagOut=flagOut&&validForm("#contact","#contactSpan",
						  "\t联系方式不能为空!","\t电话格式不正确!",
						  /(^0\d{3}-\d{7}$)|(^0\d{2}-\d{8}$)|(^1[134578]\d{9}$)/ig);		  
				return flagOut;
			}
			/*************************************************
            //验证表单的函数 validateForm
            function validateForm() {
            	//置一个flag,默认为true,用于返回,这是个编程好习惯
            	var flag = true;
            	//使用我们的万能trim,对用户名进行trim
            	var username = $("#uname").value.trim();
            	//如果用户名为空,则对该元素进行innerHTML,写上“用户名不能为空!”,
            	if (!username) {
            		$("#unameSpan").innerHTML="\t用户名不能为空!";
            		//同时将我们的flag置为false
            		flag = false;
            	}
            	//如果用户名不为空,则进行内容判断,先定义一个用户名的正则表达式 ,
            	//然后判断是否该表达式,如果不符合,则为该表单元素后写上 “用户名 中文 长度 3-10!”
                //最后将flag置为false
            	else{
            		var unameRegex = /^[\u4E00-\u9FA5]{3,8}$/ig;
            		if (!unameRegex.test(username)){
            			$("#unameSpan").innerHTML="\t用户名 中文 长度 3-10!";
            			//同时将我们的flag置为false
            			flag = false;
            		}
            	}
            	//返回咱们的flag
            	return flag;  
            }
            *************************************************/
        </script>
    </head>
    <body>
        <form action="#">
        	用户名:<input id="uname" name="uname"/><span id="unameSpan"></span><br /><br />
        	邮箱:<input id="email" name="email"/><span id="emailSpan"></span><br /><br />
        	联系方式:<input id="contact" name="contact"/><span id="contactSpan"></span><br /><br />
        	<input type="submit" value="提交" onclick="return validateForm();"/>
        </form>
    </body>
</html>


你可能感兴趣的:(JavaScript,js,表单验证)