1. 程式人生 > >正則驗證,match()與test()函式的區別?

正則驗證,match()與test()函式的區別?

test是RegExp的方法,引數是字串,返回值是boolean型別。
match是String的方法,引數是正則表示式,返回值是陣列。

案例:

1 //判斷日期型別是否為YYYY-MM-DD格式的型別    
 2 function IsDate(){     
 3     var str = document.getElementById('str').value.trim();    
 4     if(str.length!=0){    
 5         var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;     
 6         var r = str.match(reg);     
 7         if(r==null)    
 8             alert('對不起,您輸入的日期格式不正確!'); //請將“日期”改成你需要驗證的屬性名稱!    
 9         }    
10 }   
//判斷輸入的字元是否為中文    
 2 function IsChinese()     
 3 {     
 4         var str = document.getElementById('str').value.trim();    
 5         if(str.length!=0){    
 6         reg=/^[\u0391-\uFFE5]+$/;    
 7         if(!reg.test(str)){    
 8             alert("對不起,您輸入的字串型別格式不正確!");//請將“字串型別”要換成你要驗證的那個屬性名稱!    
 9         }    
10         }    
11 }