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>
相關文章
相關標籤/搜索