很全的js 表單驗證

來源:互聯網
上載者:User

function is_Empty(ve){
    //空值交驗:空返回 true 否則返回 false
    if(ve.length > 0){
        return false;
    }
    return true;
}
function is_String(ve){
    //字串:有效返回 true 否則返回 false
 var re = /^(([A-Z]*|[a-z]*|/d*|[-_/~!@#/$%/^&/*/./(/)/[/]/{/}<>/?/////'/"]*)|.{0,5})$|/s/
    if(re.test(ve)){
       return false;
    }
 return true;
}
function is_Number(ve){
    //是數字:true
    var re = /^/d+$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_Integer(ve){
    //是正整型數字:true
    var re = /^[0-9]*[1-9][0-9]*$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_Double(ve){
    //是正浮點數:true
 var re=/^[-/+]?/d+(/./d+)?$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_Character(ve){
    //是字元:true
    var re = /^[A-Za-z]+$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_Chinese(ve){
    //是漢字:true
    var re = /^[/u0391-/uFFE5]+$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_Email(ve){
    //是郵件地址:true
    var re = /^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_Phone(ve){
    //是電話號碼:true
    var re = /^((/(/d{3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2,3}-)?[1-9]/d{6,7}$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_Mobile(ve){
    //是手機號碼:true
    var re = /^((/(/d{3}/))|(/d{3}/-))?13/d{9}$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_IdCard(ve){
    //是社會安全號碼碼:true
    var re = /^/d{15}(/d{2}[A-Za-z0-9])?$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_Url(ve){
    //是網址:true
    var re = /^http:////[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/':+!]*([^<>/"/"])*$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_Zip(ve){
    //是郵編:true
    var re = /^[0-9]/d{5}$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_QQ(ve){
    //是QQ號碼:true
    var re = /^[1-9]/d{4,15}$/
    if(!re.test(ve)){
       return false;
    }
    return true;
}
function is_Tel(ve){
    //是電話:true
    var re = /^[()-]|[0-9]$/
    if(!re.test(ve)){
       return false;
    }
    return true;
   
}
function is_Date(ve,formatString){
    //是日期:true
    formatString = formatString || "ymd";
    var m, year, month, day;
    switch(formatString){
    case "ymd" :
     m = ve.match(new RegExp("^((//d{4})|(//d{2}))([-./])(//d{1,2})//4(//d{1,2})$"));
     if(m == null ) return false;
     day = m[6];
     var m_n = int=parseInt(m[5]);
     month = m_n-1;
     year =  (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10));
     break;
    case "dmy" :
     m = op.match(new RegExp("^(//d{1,2})([-./])(//d{1,2})//2((//d{4})|(//d{2}))$"));
     if(m == null ) return false;
     day = m[1];
     month = m[3]--;
     year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10));
     break;
    default :
     break;
    }
    //if(!parseInt(month)) return false;
    //month = month==12 ?0:month;
    var date = new Date(year, month, day);
    return (typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate());
    function GetFullYear(y){return ((y<30 ? "20" : "19") + y)|0;}
}
function is_LimitStr(ve,vmin,vmax){
    //長度限制
 vmin = vmin || 0;
 vmax = vmax || Number.MAX_VALUE;
 return vmin <= ve.length && ve.length <= vmax;
}
function is_LimitNum(ve,vmin,vmax){
    //數值限制
 vmin = vmin || 0;
 vmax = vmax || Number.MAX_VALUE;
 ve=parseInt(ve);
 if(ve >= vmin && vmax >= ve){
     return true;
 }
 return false;
 //return vmin <= ve && ve <= vmax;
}
function is_Submit(theForm){   
    //交驗表單theForm : 通過返回 true 否則彈出提示.
    var ErrorItem = new Array() ;
 var ErrorMessage = new Array();
 var errLength = 1; 
    var obj = theForm || event.srcElement;  
 ErrorMessage.length = 1;
 ErrorItem.length = 1; 
 ErrorMessage[0] = "提示:/t/t/t/t/n"; 
 ErrorItem[0] = obj; 
    var count = obj.elements.length; 
    for(var i=0;i<count;i++){
     with(obj.elements[i]){
      var _objType = getAttribute("type");   
      //if(typeof(_dataType) == "object")  continue; 
   if(getAttribute("type")=="hidden") continue;   
      var _dataType = getAttribute("dataType");    
      if(typeof(_dataType) == "object")  continue;   
      if(getAttribute("Require") == "false" && value == "")continue;
   switch(_dataType){
          case "noEmpty":
        if(eval(is_Empty(value))){
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
          case "Limit":
        if(eval(is_LimitStr(value,getAttribute('min'),getAttribute('max')))) {
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
          case "Number":
        if(!eval(is_Number(value))){
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
          case "LimitNum":
        if(!eval(is_LimitNum(value,getAttribute('min'),getAttribute('max')))){
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
          case "Double":
        if(!eval(is_Double(value))){
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
          case "Email":
        if(!eval(is_Email(value))){
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
          case "Mobile":
        if(!eval(is_Mobile(value))) {
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
          case "Phone":
        if(!eval(is_Phone(value))) {
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
          case "Tel":
        if(!eval(is_Tel(value))) {
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
          case "QQ":
        if(!eval(is_QQ(value))) {
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
          case "Zip":
        if(!eval(is_Zip(value))) {
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
       case "Date" :
        if(!eval(is_Date(value,getAttribute('format')))) {
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
        break;
       default :
        /*if(eval(is_String(value))){
      ErrorItem[ErrorItem.length] = ErrorItem[0].elements[i]
         ErrorMessage[ErrorMessage.length] = getAttribute("msg");
        }
     */
        break;
      }
  }
    }
    if(ErrorMessage.length > 1){
     var errCount = ErrorItem.length;
     for(var i=1;i<errCount;i++)
      ErrorItem[i].style.color = "red";
     alert(ErrorMessage.join("/n"));
     ErrorItem[1].focus();
     return false;
    }
   
 return true;
   
}
/**************************************************************
  常用指令碼
***************************************************************/
function setFocus(ob){
 //設定游標
 ob.focus();
}
function keyEnter(ob){
 //游標移動
 key=event.keyCode;
 if(key==13){
  ob.focus();
 }
}
//去除空格
String.prototype.Trim = function()
{
return this.replace(/(^/s*)|(/s*$)/g, "");
}

function mOvr(src,clrOver){
 if (!src.contains(event.fromElement)) {
  src.bgColor = clrOver;
 }
}
function mOut(src,clrIn)  {
 if (!src.contains(event.toElement)) {
  src.style.cursor = 'default';
  src.bgColor = clrIn;
 }
}

 

function CheckInt(me){
 var s="0123456789"
 var c=String.fromCharCode(event.keyCode)
 if (s.indexOf(c)<0){
  event.keyCode=0;
  return false;
 }
}

function CheckFloat(me){
 var s="0123456789."
 var c=String.fromCharCode(event.keyCode)
 if (s.indexOf(c)<0){
  event.keyCode=0;
  return false;
 }
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.