這篇文章主要介紹了JavaScript常用驗證函數,實例匯總了如字符串驗證、表單驗證及js常用特效等諸多js常用驗證函數及相關技巧,非常具有實用價值,需要的朋友可以參考下
			本文實例匯總了JavaScript常用驗證函數。分享給大家供大家參考。具體匯總如下:
			一、字符串類驗證
			1. 長度限制
			復制代碼代碼如下:
			<script>
		function test()
		{
		if(document.a.b.value.length>50)
		{
		alert("不能超過50個字符!");
		document.a.b.focus();
		return false;
		}
		}
		</script>
		<form name=a onsubmit="return test()">
		<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>
		<input type="submit" name="Submit" value="check">
		</form>
			 
			2. 只能是漢字
			復制代碼代碼如下:
			<input onkeyup="value="/oblog/value.replace(/[^/u4E00-/u9FA5]/g,'')">
			 
			3." 只能是英文
			復制代碼代碼如下:
			<script language=javascript>
		function onlyEng()
		{
		if(!(event.keyCode>=65&&event.keyCode<=90))
		event.returnvalue=false;
		}
		</script>
		<input onkeydown="onlyEng();">
			 
			4. 只能是數字
			復制代碼代碼如下:
			<script language=javascript>
		function onlyNum()
		{
		if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
		//考慮小鍵盤上的數字鍵
		event.returnvalue=false;
		}
		</script>
		<input onkeydown="onlyNum();">
			 
			5. 只能是英文字符和數字
			復制代碼代碼如下:
			<input onkeyup="value="/oblog/value.replace(/[/W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))">
			 
			6. 驗證郵箱格式
			復制代碼代碼如下:
			<SCRIPT LANGUAGE=javascript RUNAT=Server>
		function isEmail(strEmail) {
		if (strEmail.search(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/) != -1)
		return true;
		else
		alert("oh");
		}
		</SCRIPT>
		<input type=text onblur=isEmail(this.value)>
			 
			7. 屏蔽關鍵字(這里屏蔽***和****)
			復制代碼代碼如下:
			<script language="javascript1.2">
		function test() {
		if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){
		alert("123");
		a.b.focus();
		return false;}
		}
		</script>
		<form name=a onsubmit="return test()">
		<input type=text name=b>
		<input type="submit" name="Submit" value="check">
		</form>
			 
			8. 兩次輸入密碼是否相同
			復制代碼代碼如下:
			<FORM METHOD=POST ACTION="">
		<input type="password" id="input1">
		<input type="password" id="input2">
		<input type="button" value="test" onclick="check()">
		</FORM>
		<script>
		function check()
		{
		with(document.all){
		if(input1.value!=input2.value)
		{
		alert("false")
		input1.value = "";
		input2.value = "";
		}
		else document.forms[0].submit();
		}
		}
		</script>
			 
			9. 屏蔽右鍵 很酷!
			復制代碼代碼如下:
			oncontextmenu="return false" ondragstart="return false" onselectstart="return false"
		加在body中	
		 
			二、表單驗證
			1 表單項不能為空
			復制代碼代碼如下:
			<script language="javascript">
		<!--
		function CheckForm()
		{  
		if (document.form.name.value.length == 0) {  
		alert("請輸入您姓名!");
		document.form.name.focus();
		return false;
		}
		return true;
		}
		-->
		</script>
			 
			2 比較兩個表單項的值是否相同
			復制代碼代碼如下:
			<script language="javascript">
		<!--
		function CheckForm()
		if (document.form.PWD.value != document.form.PWD_Again.value) {  
		alert("您兩次輸入的密碼不一樣!請重新輸入.");
		document.ADDUser.PWD.focus();
		return false;
		}
		return true;
		}
		-->
		</script>
			 
			3 表單項只能為數字和"_",用于電話/銀行帳號驗證上,可擴展到域名注冊等
			復制代碼代碼如下:
			<script language="javascript">
		<!--
		function isNumber(String)
		{  
		var Letters = "1234567890-"; //可以自己增加可輸入值
		var i;
		var c;
		if(String.charAt( 0 )=='-')
		return false;
		if( String.charAt( String.length - 1 ) == '-' )
		return false;
		for( i = 0; i < String.length; i ++ )
		{  
		c = String.charAt( i );
		if (Letters.indexOf( c ) < 0)
		return false;
		}
		return true;
		}
		function CheckForm()
		{  
		if(! isNumber(document.form.TEL.value)) {  
		alert("您的電話號碼不合法!");
		document.form.TEL.focus();
		return false;
		}
		return true;
		}
		-->
		</script>
			 
			4 表單項輸入數值/長度限定
			復制代碼代碼如下:
			<script language="javascript">
		<!--
		function CheckForm()  
		{  
		if (document.form.count.value > 100 || document.form.count.value < 1)
		{  
		alert("輸入數值不能小于零大于100!");
		document.form.count.focus();
		return false;
		}
		if (document.form.MESSAGE.value.length<10)
		{  
		alert("輸入文字小于10!");
		document.form.MESSAGE.focus();
		return false;
		}
		return true;
		}
		//-->
		</script>
			 
			5 中文/英文/數字/郵件地址合法性判斷
			復制代碼代碼如下:
			<SCRIPT LANGUAGE="javascript">
		<!--
		function isEnglish(name) //英文值檢測
		{  
		if(name.length == 0)
		return false;
		for(i = 0; i < name.length; i++) {  
		if(name.charCodeAt(i) > 128)
		return false;
		}
		return true;
		}		
			 
					function isChinese(name) //中文值檢測
			{  
			if(name.length == 0)
			return false;
			for(i = 0; i < name.length; i++) {  
			if(name.charCodeAt(i) > 128)
			return true;
			}
			return false;
			}
					function isMail(name) // E-mail值檢測
			{  
			if(! isEnglish(name))
			return false;
			i = name.indexOf(" at ");
			j = name dot lastIndexOf(" at ");
			if(i == -1)
			return false;
			if(i != j)
			return false;
			if(i == name dot length)
			return false;
			return true;
			}
					function isNumber(name) //數值檢測
			{  
			if(name.length == 0)
			return false;
			for(i = 0; i < name.length; i++) {  
			if(name.charAt(i) < "0" || name.charAt(i) > "9")
			return false;
			}
			return true;
			}
					function CheckForm()
			{  
			if(! isMail(form.Email.value)) {  
			alert("您的電子郵件不合法!");
			form.Email.focus();
			return false;
			}
			if(! isEnglish(form.name.value)) {  
			alert("英文名不合法!");
			form.name.focus();
			return false;
			}
			if(! isChinese(form.cnname.value)) {  
			alert("中文名不合法!");
			form.cnname.focus();
			return false;
			}
			if(! isNumber(form.PublicZipCode.value)) {  
			alert("郵政編碼不合法!");
			form.PublicZipCode.focus();
			return false;
			}
			return true;
			}
			//-->
			</SCRIPT>
			 
			6 限定表單項不能輸入的字符
			復制代碼代碼如下:
			<script language="javascript">
		<!--		
			 
					function contain(str,charset)// 字符串包含測試函數
			{  
			var i;
			for(i=0;i<charset.length;i++)
			if(str.indexOf(charset.charAt(i))>=0)
			return true;
			return false;
			}
					function CheckForm()
			{  
			if ((contain(document.form.NAME.value, "%/(/)><")) || (contain(document.form.MESSAGE.value, "%/(/)><")))
			{  
			alert("輸入了非法字符");
			document.form.NAME.focus();
			return false;
			}
			return true;
			}
			//-->
			</script>
			 
			三、其他驗證:
			1. 檢查一段字符串是否全由數字組成  
			復制代碼代碼如下:
			<script language="Javascript"><!--
		function checkNum(str){return str.match(//D/)==null}
		alert(checkNum("1232142141"))
		alert(checkNum("123214214a1"))
		// --></script>
		 	2. 怎么判斷是否是字符	
		復制代碼代碼如下:
			if (/[^/x00-/xff]/g.test(s)) alert("含有漢字");
		else alert("全是字符");
		 	3. 怎么判斷是否含有漢字   	
		復制代碼代碼如下:
			if (escape(str).indexOf("%u")!=-1) alert("含有漢字");
		else alert("全是字符");
		    	4. 郵箱格式驗證    	
		復制代碼代碼如下:
			//函數名:chkemail
		//功能介紹:檢查是否為Email Address 
		//參數說明:要檢查的字符串 
		//返回值:0:不是 1:是 
		function chkemail(a) 
		{ var i=a.length; 
		var temp = a.indexOf('@'); 
		var tempd = a.indexOf('.'); 
		if (temp > 1) { 
		if ((i-temp) > 3){ 
		if ((i-tempd)>0){ 
		return 1;
		}
		}
		}
		return 0;
		}
		    	5. 數字格式驗證    	
		復制代碼代碼如下:
			//函數名:fucCheckNUM
		//功能介紹:檢查是否為數字
		//參數說明:要檢查的數字
		//返回值:1為是數字,0為不是數字
		function fucCheckNUM(NUM)
		{
		var i,j,strTemp;
		strTemp="0123456789";
		if ( NUM.length== 0)
		return 0
		for (i=0;i<NUM.length;i++)
		{
		j=strTemp.indexOf(NUM.charAt(i));
		if (j==-1)
		{
		//說明有字符不是數字
		return 0;
		}
		}
		//說明是數字
		return 1;
		}
		    	6. 電話號碼格式驗證    	
		復制代碼代碼如下:
			//函數名:fucCheckTEL
		//功能介紹:檢查是否為電話號碼
		//參數說明:要檢查的字符串
		//返回值:1為是合法,0為不合法
		function fucCheckTEL(TEL)
		{
		var i,j,strTemp;
		strTemp="0123456789-()# ";
		for (i=0;i<TEL.length;i++)
		{
		j=strTemp.indexOf(TEL.charAt(i));
		if (j==-1)
		{
		//說明有字符不合法
		return 0;
		}
		}
		//說明合法
		return 1;
		}
		   	7. 判斷輸入是否為中文的函數   	
		復制代碼代碼如下:
			function ischinese(s){   
		var ret=true;   
		for(var i=0;i<s.length;i++)   
		ret=ret && (s.charCodeAt(i)>=10000);   
		return ret;   
		}
		   	8. 綜合的判斷用戶輸入的合法性的函數  	
		復制代碼代碼如下:
			<script language="javascript">  
		//限制輸入字符的位數開始  
		//m是用戶輸入,n是要限制的位數  
		function issmall(m,n)  
		{  
		if ((m<n) && (m>0))  
		 {  
		 return(false);  
		 }  
		else  
		{return(true);}  
		}
		  	9. 判斷密碼是否輸入一致  	
		復制代碼代碼如下:
			function issame(str1,str2)  
		{  
		if (str1==str2)  
		{return(true);}  
		else  
		{return(false);}  
		}
		  	10. 判斷用戶名是否為數字字母下滑線	
		復制代碼代碼如下:
			function notchinese(str){
		var reg=/[^A-Za-z0-9_]/g
		   if (reg.test(str)){
		   return (false);
		   }else{
		return(true);   }
		}
			 
			11. form文本域的通用校驗函數
		  
		作用:檢測所有必須非空的input文本,比如姓名,賬號,郵件地址等等。
		該校驗現在只針對文本域,如果要針對form里面的其他域對象,可以改變判斷條件。
			使用方法:在要檢測的文本域中加入title文字。文字是在提示信息,你要提示給用戶的該字段的中文名。比如要檢測用戶名
		html如下<input name="txt_1" style="border-left-color: rgb(0, 153, 204); border-left-width: 1px; border-left-style: solid; padding: 0px 3px; margin: 3px auto 0px; width: 640px; background-color: rgb(242, 246, 251); clear: both; border-top-color: rgb(0, 153, 204); border-top-width: 1px; border-top-style: solid; border-right-color: rgb(0, 153, 204); border-right-width: 1px; border-right-style: solid;">		復制代碼代碼如下:
 			12. 驗證radio是否選擇
			<script language="javascript">
		function checkform(obj)
		{
		for(i=0;i<obj.oo.length;i++)
		if(obj.oo[i].checked==true) return true;		
			 
					alert("請選擇")
			return false;  
					}
			</script>
			<form id="form1" name="form1" method="post" action=""    onsubmit="return checkform(this)">
			    <input type="radio" name="oo" value="radiobutton" />
			    <input type="radio" name="oo" value="radiobutton" />
			    <input type="submit" name="Submit" value="提交" />
			</form>