javascript利用正則表達式驗證輸入數據

function trim(str)   // 用正則表達式將前後空格        
{      
     
    // 用空字符串替代。      
    var t = str.replace(/(^\s*)|(\s*$)/g, "");    
    return t.replace(/(^ *)|( *$)/g, "");    
}


function  bytelength(szString)//獲取字符串長度
{
    return szString.replace(new RegExp("[^\x00-\xff]", "g"), "  ").length;
}

function checkPassword(e)//判斷用戶密碼
{
    var ok = "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_.-";
    for(var i=0; i<e.length; i++)
    {
        if (ok.indexOf(e.charAt(i))<0)
        {
            return false;
        }
    }
    return true;
}
function   isEmail(obj)//檢驗郵件地址    
       {    
        var   email=obj;    
        var   pattern=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;    
        flag=pattern.test(email);    
        if(flag)    
        {    
         return   true;    
        }    
        else    
         {    
          return   false;    
            }    
          }     

function isMobel(value)//檢驗手機號,兼容13,15,18開通的中國手機號碼
{
if(/^13\d{9}$/g.test(value)||(/^15[0-35-9]\d{8}$/g.test(value))||
(/^18[05-9]\d{8}$/g.test(value))){
            return true;
}else{
            return false;
}
}

function   isZipCode(obj) //檢驗6位數郵編 ,國內的6爲有效郵編
       {    
        var   post=obj;    
        var   pattern=/^[1-9][0-9]{5}$/;    
        flag=pattern.test(post);    
        if(flag)    
        {    
         return   true;    
        }    
        else    
         {    
          return   false;    
            }    
          }
function   isID(obj)//檢驗省份證是否合法   
       {    
        var   post=obj;    
        var   pattern=/^((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65|71|81|82|91)\d{4})((((19|20)(([02468][048])|([13579][26]))0229))|((20[0-9][0-9])|(19[0-9][0-9]))((((0[1-9])|(1[0-2]))((0[1-9])|(1\d)|(2[0-8])))|((((0[1,3-9])|(1[0-2]))(29|30))|(((0[13578])|(1[02]))31))))((\d{3}(x|X))|(\d{4}))$/;      
        flag=pattern.test(post);    
        if(flag)    
        {    
         return   true;    
        }    
        else    
         {    
          return   false;    
            }    
          }
function   isQQ(obj) //檢驗QQ號碼  
       {    
        var   post=obj;    
        var   pattern=/[1-9][0-9]{4,}/;    
        flag=pattern.test(post);    
        if(flag)    
        {    
         return   true;    
        }    
        else    
         {    
          return   false;    
            }    
          }
function   isPhone(obj)//檢驗固定電話    
       {    
        var   post=obj;    
        var   pattern=/\d{3}-\d{8}|\d{4}-\d{7}/;    
        flag=pattern.test(post);    
        if(flag)    
        {    
         return   true;    
        }    
        else    
         {    
          return   false;    
            }    
          }
function   isInteger(obj)//檢驗是否整數    
{    
 var   post=obj;    
 var   pattern=/^(0|([1-9]\d*))$/;    
 flag=pattern.test(post);    
 if(flag)    
 {    
  return   true;    
 }    
 else    
  {    
   return   false;    
     }    
   }

 使用例子:

function validate()
      {
          var    name = document.getElementsByName("name")[0];
          var age = document.getElementsByName("age")[0];
          var sex = document.getElementsByName("sex");
          var birthday = document.getElementsByName("birthday")[0];
          
          

          if(name.value == "")
          {
              document.getElementById('uname').innerHTML = '*用戶名不能爲空';
              name.focus();
              return false;
          }
          else
          {
              document.getElementById('uname').innerHTML = '*填寫正確!';
          }
          
          if(age.value == "")
          {
              document.getElementById('uage').innerHTML = '*年齡不能爲空!';
              age.focus();
              return false;
          }
          if(!isInteger(age.value))//使用上面的isInteger()判斷函數,判斷用戶輸入的年齡是否爲整數
        {
            
               document.getElementById('uage').innerHTML = '*年齡只能爲正整數!';
            age.focus();
            return false;
        }
        else
        {
            document.getElementById('uage').innerHTML = '*填寫正確!';
        }
          if(!sex[0].checked && !sex[1].checked)
          {
              
              document.getElementById('usex').innerHTML = '*請選擇性別!';
              return false;
          }
          else
          {
              document.getElementById('usex').innerHTML = '*您已選擇!'
          }
          if(birthday.value == "")
          {
              
              document.getElementById('ubirthday').innerHTML = '*請填寫生日!';
              birthday.focus();
              return false;
          }
          else
          {
              document.getElementById('ubirthday').innerHTML = '*填寫正確!';
          }
          return true;
      }

 




 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章