中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

非常實用的js驗證框架實現源碼 附原理方法
來源:易賢網 閱讀:1366 次 日期:2016-06-17 16:56:04
溫馨提示:易賢網小編為您整理了“非常實用的js驗證框架實現源碼 附原理方法”,方便廣大網友查閱!

本文為大家分享一個很實用的js驗證框架實現源碼,供大家參考,具體內容如下

關鍵方法和原理:

function check(thisInput) 方法中的

 if (!eval(scriptCode)) { 

     return false;

    }

調用示例:

代碼如下:

<input type="text" class="text_field percentCheck" name="progress_payment_two" id="progress_payment_two" inputName="進度款2比例(%)" validate="isNumeric;notNull" maxLength="350" value="" />

驗證時會自動調用:isNumeric 方法 和 notNull方法并返回驗證的結果信息。

代碼如下:

var ConfigValidateInfoType = "writeAlert"; //支持writeAlert和writePage,"writePage;writeAlert"

var rmTempStatusIsAlert = false;

var rmTempStatusIsFocus = false;

var beginValidate = true;

var set_All_Venus_Inputs_Default = true;

String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } 

function checkAllForms(){

  var checkResult = true;

  rmTempStatusIsAlert = false;

  rmTempStatusIsFocus = false;

  setAllVenusInputsDefault();

  for (var i=0;i<document.forms.length;i++) {

    for (var j=0;j<document.forms[i].elements.length;j++) {

      var thisInput = document.forms[i].elements[j];

      if ( thisInput.type!="hidden" && thisInput.type!="button" && !( thisInput.id.indexOf("TF_")>=0 && thisInput.id.indexOf("_TF")>0 ) &&thisInput.clientWidth!=0&&thisInput.style&&thisInput.style.display!='none'){

        /*

        if(validateStr != null && validateStr.length > 0 ){

          if(thisInput.tagName == 'TEXTAREA' && srcstr != '') {

            srcstr = replaceEnter(srcstr);

            if( thisInput.maxLength != null && thisInput.maxLength > 0 ){

              if (getStrLength(srcstr) > thisInput.maxLength){

                writeValidateInfo(thisInput, "焦點處輸入長度超長\n請確保輸入長度在" +frm.maxLength+"以內");

                return false;

              }

            }

          }

        }

        */

        if(thisInput.id&&thisInput.id.indexOf("supplier_id_ref_")!=-1&&document.getElementById("unionDiv")&&document.getElementById("unionDiv").style.display=="none"){

          continue;

        }

          

        var rtValue = check(thisInput);

        if(checkResult && rtValue == false) {

          checkResult = false;

          break;

        }

      }

    }

  }

  return checkResult;

}

function check(thisInput) {

  var validateStr = thisInput.validate;

  if(validateStr == null) {

    return true;

  }

  var inputValue = thisInput.value;

  if ( beginValidate ) {

    var validateTemp = new Array(); 

    validateTemp = validateStr.split(';');

    for (var i=0;i<validateTemp.length;i++) {

      if(validateTemp[i].length == 0) {

        continue;

      }

      s = replaceSingleQuote(inputValue);

      try{

        var scriptCode = "javascript:" + validateTemp[i]; //"javascript:" + validateTemp[i] + "('" + s + "', " + "thisInput)"

        if(validateTemp[i].indexOf("(") < 0 || validateTemp[i].indexOf(")") < 0) {

          scriptCode = "javascript:" + validateTemp[i] + "(s,thisInput)"

        }

        if (!eval(scriptCode)) { 

          return false;

        }

      } catch(e) {

        alert("校驗函數"+validateTemp[i]+"有異常,請檢查!" + "\n" + e.message );

        return false;

      }

    }

  }

  return true;

}

function setAllVenusInputsDefault() {

  var frmslen = document.forms.length;

  for (var i=0;i<frmslen;i++) {

    var inslen = document.forms[i].elements.length;   

    for (var j=0;j<inslen;j++) {

      var frm = document.forms[i].elements[j]

      if ( frm.type!="hidden" && frm.type!="button" && !( frm.id.indexOf("TF_")>=0 && frm.id.indexOf("_TF")>0 ) ){

        if(frm.validate != null) {

          setVenusInputDefault(frm);

          writeValidateInfoAfterObject("", frm);

        }

      }

    }

  }

  return true;

}

function setVenusInputDefault(_frm) {

  _frm.style.borderStyle="";

  _frm.style.borderColor="";

  if( _frm.value != null ){

    _frm.style.backgroundColor = "";

    _frm.style.color = "";

  }

}

function replaceEnter(_str) {

  /**替換換行回車字符**/

  var str = _str;

  str = str.replace('\n','')

  str = str.replace('\r','')

  //alert(str.indexOf('\n'))

  if(str.indexOf('\n')!=-1 &&str.indexOf('\r')!=-1) { 

    return replaceEnter(str);

  } else {

    return str;

  }

}

function replaceSingleQuote(_str) {

  /**替換換行回車字符**/

  var str = _str;

  str = str.replace('\\','\\u005C');

  str = str.replace('\'','\\u0027'); 

  str = str.replace('(','\\u0028');

  str = str.replace(')','\\u0029');

  str = str.replace('\"','\\u0022');

  str = str.replace(';','\\u0038');

  //str = Jtrim(str);

  return str;

}

function isContains(_validateStr,_validator) {

  for (var i=0;i<_validateStr.length;i++)

  {

    if(_validateStr[i] == _validator)

      return true;

  }

  return false;

}

function writeValidateInfo(info, thisObj) {

  var inputName = getInputNameFromObject(thisObj);

  info = inputName + "的輸入有誤!\n" + info;

  if(ConfigValidateInfoType.indexOf("writePage") >= 0) {

    writeValidateInfoAfterObject(info, thisObj);

  }

  if(ConfigValidateInfoType.indexOf("writeAlert") >= 0) {

    writeValidateInfoAlert(info, thisObj);

  }

  if(!rmTempStatusIsFocus) {

    setVenusInputError(thisObj);

    rmTempStatusIsFocus = true;

  }

}

function setVenusInputError(_frm) {

  try {

    //_frm.click(); // click會導致文件上傳錯誤

    _frm.focus();

    //由于SELCET不支持內容選擇,且不用內容選擇,所以特殊處理,防止報錯

    //修改:李岳 2009-11-12

    if(_frm.tagName!="SELECT"){

      _frm.select();

    }

    _frm.style.borderStyle="dashed";

    _frm.style.borderColor="rgb(255,50,0)";

    if( _frm.value != null && _frm.value.length > 0 ){

      _frm.style.backgroundColor = "highlight";

      _frm.style.color = "white";

    } 

  } catch(e) {

    alert(e.message);

  }

}

function writeValidateInfoAlert(info, thisObj) {

  if(!rmTempStatusIsAlert) {

    alert(info);

    rmTempStatusIsAlert = true;

  }

}

function writeValidateInfoAfterObject(info, thisObj) { //寫校驗信息

  var validateInfoObj = null;

  thisObj = getValidatePosition(thisObj);

  if(thisObj.nextSibling != null && thisObj.nextSibling.nextSibling != null

    && thisObj.nextSibling.tagName != null && thisObj.nextSibling.tagName.toUpperCase() == "FONT"

    && thisObj.nextSibling.nextSibling.tagName.toUpperCase() == "SPAN" && thisObj.nextSibling.nextSibling.className == "font_remain_prompt") {

    validateInfoObj = thisObj.nextSibling.nextSibling;

  } else {

    thisObj.insertAdjacentHTML("afterEnd", "<font></font><span class=font_remain_prompt></span>");

    validateInfoObj = thisObj.nextSibling.nextSibling;

  }

  if(validateInfoObj.innerHTML.length > 0 || info.length > 0) {

    validateInfoObj.innerHTML = info;

  }

}

function getValidatePosition(thisObj) {

  if(thisObj.nextSibling != null && thisObj.nextSibling.className == "refButtonClass") {

    thisObj = getValidatePosition(thisObj.nextSibling);

  } else if(thisObj.nextSibling != null && thisObj.nextSibling.type == "hidden"){

    thisObj = getValidatePosition(thisObj.nextSibling);

  }

  return thisObj;

}

function getInputNameFromObject(thisInput) {

  var inputName = thisInput.inputName ;

  if ( inputName == null || inputName.length == 0 ){

    inputName = thisInput.name;

    if ( inputName == null || inputName.length == 0 ){

      inputName = "";

    }

  }

  return inputName;

}

function getStrLength(str){

  var len = 0;

  for(var i=0;i<str.length;i++){

    if (str.charCodeAt(i) > 255)

      len += 2;

    else

      len ++;

  }

  return len;

}

/**********************************************************************

*ranmin validate

***********************************************************************/

function notNull(s, thisInput) { //不能為空

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if (s.length == 0){

    writeValidateInfo("不能為空或空格!", thisInput);

    return false;

  } 

  var s = Jtrim(s);  

  if ( s.length == 0){

    writeValidateInfo("不能為空或空格!", thisInput);

    return false;

  } 

  return true;

}

function isJine(s, thisInput) { //不能為空

   var a=/^[0-9]*(\.[0-9]{1,2})?$/;

   if(!a.test(s)){

     writeValidateInfo("有非法字符或者小數點位數超過兩位", thisInput);

     return false;

  }else{

     return true;

   }

}

function isMobile(s, thisInput) { //是手機號碼:必須以數字開頭,除數字外,可含有“-” 

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

  var obj=new Array()

  obj[0]="13";

  obj[1]="14";

  obj[2]="15";

  obj[3]="18";

  if(s != null ){

    if(s.length != 11){

      writeValidateInfo('請輸入合法的手機號碼!', thisInput);

      return false;

    }

    var mob = 0;

    for ( var int = 0; int < obj.length; int++) {

      if(s.substring(0,2) == obj[int]){

        mob = mob+1;

      }

    }

    if(mob == 0){

      writeValidateInfo('請輸入合法的手機號碼!', thisInput);

      return false;

    }

  }

  var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; 

  if (!patrn.exec(s)) {

    writeValidateInfo('請輸入合法的手機號碼!', thisInput);

    return false;

  }    

  return true;

}

function isPostalCode(s, thisInput) { //是郵政編碼

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

      

  var patrn=/^[a-zA-Z0-9 ]{3,12}$/; 

  if (!patrn.exec(s)) {

    writeValidateInfo('請輸入合法的郵政編碼!', thisInput);

    return false;

  }

  return true;

function isTel(s,thisInput) { //是電話普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-” 

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

  var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; 

  if (!patrn.exec(s)) {

    writeValidateInfo('請輸入合法的電話號碼!',thisInput);

    return false

  } 

  return true;

}

function isTelForFax(s,thisInput) { //是電話普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-” 

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

  var patrn=/^(\d){3,4}[-](\d){7,8}$/; 

  if (!patrn.exec(s)) {

    writeValidateInfo('請輸入合法的座機號碼,例如:010-88888888!',thisInput);

    return false

  } 

  return true;

}

function isFax(s,thisInput) { //是電話普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-” 

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

  var patrn=/^(\d){3,4}[-](\d){7,8}$/; 

  if (!patrn.exec(s)) {

    writeValidateInfo('請輸入合法的傳真號碼,例如:010-88888888!',thisInput);

    return false

  } 

  return true;

}

function isChinese(s,thisInput) { //是中文

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

  var ret = ischinese(s);

  if(!ret){

    writeValidateInfo("請輸入中文", thisInput);

    return ret;

  }

  return ret;

}

function notChinese(s,thisInput) { //不含中文

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

      

  var ret = ischinese(s);

  if(ret){

    writeValidateInfo("不能輸入中文",thisInput);

    return false;

  }

  return true;

}

function isNum(s,thisInput) { //是數字 

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

  var digits = "0123456789";

  var i = 0;

  var sLength = s.length;

  while ((i < sLength)) {

    var c = s.charAt(i);

    if (digits.indexOf(c) == -1){

        

      writeValidateInfo ("請輸入數字!",thisInput);   

      return false;

    }

    i++;

  }

  return true;

}

function isNumBigtoZero(s,thisInput) { //是數字 

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

  var digits = "0123456789";

  var i = 0;

  var sLength = s.length;

  while ((i < sLength)) {

    var c = s.charAt(i);

    if (digits.indexOf(c) == -1){

        

      writeValidateInfo ("請輸入數字!",thisInput);   

      return false;

    }

    i++;

  }

  try{

    if(thisInput.value<=0){

      writeValidateInfo ("輸入數值必須大于零!",thisInput);

      return false;

    }

  }catch(e){

      

  }

  return true;

}

function isEmail(s,thisInput) { //是電子郵件

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

  if (s.length > 100) {

    writeValidateInfo("email地址長度不能超過100位!",thisInput);

    return false;

  }

  var regu = /^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$/;

  if (regu.exec(s)) {   

    return true;

  } else {

    writeValidateInfo ("請輸入有效合法的E-mail地址 !",thisInput);

    return false;

  }

}

function isIP() { //是IP

      

  var patrn=/^[0-9.]{1,20}$/; 

  if (!patrn.exec(s)){

    writeValidateInfo('請輸入IP值!',thisInput);

    return false

  } 

  return true;

}

/**********************************************************************

*Venus Web JavaScript Code:HTC 校驗notNull

***********************************************************************/

function notNullWithoutTrim(s,thisInput) { //是""

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if ( s.length == 0){

    writeValidateInfo('請輸入,該項不能為空!',thisInput);

    return false;

  } 

  return true;

}

function isInteger(str,thisInput) { //是整數

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  str=str.trim();

  if(str.length ==0){

    return true;

  }

  var reg = "0123456789";

  for (var i=0;i<str.length;i++){

    var m = str.charAt(i);

    if (reg.indexOf(m) == -1) {

      writeValidateInfo('請輸入整數!',thisInput);

      return false;

    }

  }

  return true;

}

function isNormalStrOnWeb(s,thisInput) { //是普通字符(非html標記)

  if (s.substring(0,1) == "<" || s.substring(0,1) == "\>" || s.substring(0,1) == " "){

      writeValidateInfo("焦點處不能以<或\>或空格開頭",thisInput);

      return false;

  }

  if (!HoldCode(s)){

    writeValidateInfo("焦點處不能輸入全角\"·\"/\"—\"/\"——\"字符",thisInput);

    return false;

  }

  if (s.trim().length > 0){

    if (s.indexOf("\"") > -1){

      writeValidateInfo("焦點處不能輸入雙引號!!",thisInput);

      return false;

    }

    if (s.indexOf("\'") > -1){

      writeValidateInfo("焦點處不能輸入單引號",thisInput);

      return false;

    }

    if (s.indexOf("\\") > -1){

      writeValidateInfo("焦點處不能輸入 '\\' ",thisInput);

      return false;

    }

  }

  return true;

}

//基本函數列表

function Jtrim(str) { //去空隔函數

  var i = 0;

  var len = str.length;

  if ( str == "" ) return( str );

  var j = len -1;

  var flagbegin = true;

  var flagend = true;

  while ( flagbegin == true && i< len) {

    if ( str.charAt(i) == " " ) {

      i=i+1;

      flagbegin=true;

    } else {

      flagbegin=false;

    }

  }

  while (flagend== true && j>=0) {

    if (str.charAt(j)==" ") {

      j=j-1;

      flagend=true;

    } else {

      flagend=false;

    }

  }

  if ( i > j ) 

    return ("");

  var trimstr = str.substring(i,j+1);

  return trimstr;

}

function isNumber(s) { //數字判斷函數

  s=s.trim();

  if(s.length ==0){

    return true;

  }

  var digits = "0123456789";

  var i = 0;

  var sLength = s.length;

  while ((i < sLength)) {

    var c = s.charAt(i);

    if (digits.indexOf(c) == -1) {

      return false;    

    }

    i++;

  }

  return true;

}

function ischinese(s) { //判斷是否中文函數

  var ret=true;

  for(var i=0;i<s.length;i++)

    ret=ret && (s.charCodeAt(i)>=10000);

  return ret;

}

/**********************************************************************

*Venus Web JavaScript Code:HTC 表單通用檢驗(完善中)

***********************************************************************/

function HoldCode(str){

  for(var i=0;i<str.length;i++){

    if (str.charCodeAt(i) == 8212 || str.charCodeAt(i) == 183){

      return false;

    }

  }

  return true;

}

function validateForm(current_form) {

  for (var i=0;i<current_form.length;i++){

    if (current_form[i].type =="text" || current_form[i].type == "radio"){

      if (current_form[i].value.substring(0,1) == "<" || current_form[i].value.substring(0,1) == "\>" || current_form[i].value.substring(0,1) == " "){

          alert("焦點處不能以<或\>或空格開頭");

          current_form[i].focus();

          current_form[i].select();

          return false;

      }

      if (getStrLength(current_form[i].value) > current_form[i].maxLength){

          alert("焦點處輸入長度超長\n請確保輸入長度在" +current_form[i].maxLength+"以內");

          current_form[i].focus();

          current_form[i].select();

          return false;

      }

      if (!HoldCode(current_form[i].value)){

        alert("焦點處不能輸入全角\"·\"/\"—\"/\"——\"字符");

        current_form[i].focus();

        current_form[i].select();

        return false;

      }

      if (!is_empty(current_form[i].value)){

        if (current_form[i].name == "scriptDefine"){

          return true;

        }

        if (current_form[i].value.indexOf("\"") > -1){

          alert("焦點處不能輸入雙引號");

          current_form[i].focus();

          current_form[i].select();

          return false;

        }

      }

    }

  }

  return true;

}

function checkNumber(s, inputName) {

  try{

    //去掉空格

    try{

      thisInput.value=thisInput.value.trim();

    }catch(e){

        

    }

    s=s.trim();

      

    if(s.length ==0){

      return true;

    }

      

    var thisObj = event.srcElement;

    var maxLength = thisObj.integerDigits;

    var scale = thisObj.decimalDigits;

    return checkNumberImpl(s, maxLength, scale);

  }catch(e){

  }

}

function checkNumberImpl(s, maxLength, scale) { //校驗運行里程,小數,整數部分最多為10-2

  if(s == "") {

    return true;

  }

  if(scale == undefined) {

    scale = 0;

  }

  if(maxLength == undefined) {

    maxLength = 38;

  }

  if(!isFloatNumber(s)) {

    return false;

  }

  if(s.indexOf(".") >0) {

    if(s.indexOf(".") <= maxLength && (Math.round(s*(pow(10,scale)))<(pow(10,(maxLength + scale))))) {

      return true;

    } else {

      alert("整數部分最大為" + (maxLength - scale) + "位!");

      return false;

    }

  } else {

    if(s.length <= maxLength) {

      return true;

    } else {

      alert("整數部分最大為" + maxLength + "位!!");

      return false;

    }

  }

}

function isFloatNumber(s,inputName) { //判斷是否

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

  var digits = "0123456789.";

  var i = 0;

  var sLength = s.trim().length;

  while ((i < sLength)) {

    var c = s.charAt(i);

    if (digits.indexOf(c) == -1){

      writeValidateInfo("請輸入有效數字!", inputName);    

      return false;

    }

    i++;

  }

  if(s.indexOf(".") != s.lastIndexOf(".")) {

    alert("小數點不對,請輸入有效數字!");

    return false;

  } else {

    return true;

  }

}

function isSearch(s,thisInput) { //不能輸入非法字符

  if(s.length == 0 ) 

    return true;

  var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,5000}$/; 

  var patrn2 = /[^\{\|\.\\,<>"'_}/]/;

  if (!patrn.exec(s) || !patrn2.exec(s)){

    writeValidateInfo('輸入項中含非法字符,請重新輸入!',thisInput);

    return false;  

  }

  return true ;

}

//===============================================================================================

/**

 * 驗證數字(正整數或者包含小數的數字).

 */

function isNumeric(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^\d+(\.\d+)?$/;

  if (!reg.test(value)) {     

    writeValidateInfo ("請輸入正整數或者小數!", thisInput);

    return false;

  }

  return true;

}

/**

 * 驗證數字(正整數).

 */

function checkInt(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^[0-9]\d*$/;

  if (!reg.test(value)) {     

    writeValidateInfo ("請輸入正整數!", thisInput);

    return false;

  }

  return true;

}

/**

 * 驗證數字(整數位最大為10位,可以帶小數)

 */

function validateNumericAndLength(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^\d{1,10}(\.\d+)?$/;

  if (!reg.test(value)) {     

    writeValidateInfo ("請輸入正整數或者小數(整數位只能有10位)!", thisInput);    

    return false;

  }

  return true;

}

/**

 * 驗證數字(18,2)

 */

function isNum18p2(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){}

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^(-)?\d{1,16}(\.\d{1,2})?$/;

  if (!reg.test(value)) {     

    writeValidateInfo ("請輸入數字(整數位最多16位,小數位最多2位)!", thisInput);   

    return false;

  }

  return true;

}

/**

 * 驗證數字(18,4)

 */

function isNum18p4(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){}

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^(-)?\d{1,14}(\.\d{1,4})?$/;

  if (!reg.test(value)) {     

    writeValidateInfo ("請輸入數字(整數位最多14位,小數位最多4位)!", thisInput);   

    return false;

  }

  return true;

}

/**

 * 驗證數字(5,2)

 */

function isNum5p2(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){}

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^(-)?\d{1,3}(\.\d{1,2})?$/;

  if (!reg.test(value)) {     

    writeValidateInfo ("請輸入數字(整數位最多3位,小數位最多2位)!", thisInput);    

    return false;

  }

  return true;

}

/**

 * 驗證Email.

 */

function checkEmail(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;

  if (!reg.test(value)) {

    writeValidateInfo ("請輸入正確的Email地址!", thisInput);

    return false;

  }

  return true;

}

/**

 * 驗證身份證(15位或者18位身份證).

 */

function checkIdCard(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^\d{15}(\d{2}[A-Za-z0-9])?$/;

  if (!reg.test(value)) {

    writeValidateInfo ("請輸入正確的身份證號碼!", thisInput);

    return false;

  }

  return true;

}

/**

 * 驗證郵政編碼.

 */

function checkPostCode(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^[0-9]\d{5}$/;

  if (!reg.test(value)) {

    writeValidateInfo ("請輸入正確的郵政編碼!", thisInput);

    return false;

  }

  return true;

}

/**

 * 驗證是否為中文字符.

 */

function checkChinese(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^[\u0391-\uFFE5]+$/;

  if (!reg.test(value)) {

    writeValidateInfo ("請輸入中文字符!", thisInput);

    return false;

  }

  return true;

}

/**

 * 驗證是否為非法字符.

 */

function checkInvalidString(value, thisInput) {

  var reg = /^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]*$/;

  if (!reg.exec(value)) {

    writeValidateInfo ("輸入的字符中包含特殊字符,請重新輸入!", thisInput);

    return false;

  }

  return true;

}

function checkMoney(s, inputName) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  s=s.trim();

  if(s.length ==0){

    return true;

  }

  if(s==""){

    writeValidateInfo("金額不能為空!", inputName);

    return false;

  }

  if(isFloatNumber(s,inputName)==false){

    writeValidateInfo("非法金額值!", inputName);

    return false;

  }

  var maxLength = 10;

  var scale =2;

  return checkNumberImpl(s, maxLength, scale,inputName);

}

/**

 * 校驗分數是否在0-100

 */

function isAdultAge(str,thisInput) { //是整數

   //去掉空格

   try{

     thisInput.value=thisInput.value.trim();

   }catch(e){

      

   }

   str=str.trim();

   if(str.length ==0){

     return true;

   }

  if(parseInt(str)<0 || parseInt(str)>100){

    writeValidateInfo('請輸入合法分數(0--100之間)!',thisInput);

    return false;

  }

  return true;

}

  /**

 * 6 級強度設置(數字、大寫字母、小寫字母、特殊字符、長度>=6、長度>=10)

 * 如果密碼為空,返回 0

 */

function pwdStrength(pwd) {

  var sum = [0, 0, 0];

  for (var i=0; i<pwd.length; i++) {

    var c = pwd.charCodeAt(i);

    if (c >=48 && c <=57) //數字

      sum[0] = 1;

    else if (c >=65 && c <=90) //大寫字母

      sum[1] = 1;

    else if (c >=97 && c <=122) //小寫字母

      sum[1] = 1;

    else //特殊字符

      sum[2] = 1; 

  }

  var level = sum[0] + sum[1] + sum[2] ;

  if (pwd.length >= 8) level++;

  return level;

}

function isBiggerZero(value, thisInput) { //已經是數字,然后必須大于0

  if(thisInput.value<=0){

    writeValidateInfo('請輸入一個大于零的數字!',thisInput);

    return false;

  }

  return true;

}

function isNonnegative(value, thisInput) { 

  if(thisInput.value<0){

    writeValidateInfo('請輸入一個非負的數字!',thisInput);

    return false;

  }

  return true;

}

/**

 * 驗證數字(20,6)

 */

function isNum20p6(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){}

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^(-)?\d{1,14}(\.\d{1,6})?$/;

  if (!reg.test(value)) {     

    writeValidateInfo ("請輸入數字(整數位最多14位,小數位最多6位)!", thisInput);   

    return false;

  }

  return isBiggerZero(value, thisInput);

}

/**

 * 驗證數字(18,6)

 */

function isNum18p6(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){}

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^(-)?\d{1,12}(\.\d{1,6})?$/;

  if (!reg.test(value)) {     

    writeValidateInfo ("請輸入數字(整數位最多12位,小數位最多6位)!", thisInput);   

    return false;

  }

  return isBiggerZero(value, thisInput);

}

function isNonnegative20p6(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){}

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^(-)?\d{1,14}(\.\d{1,6})?$/;

  if (!reg.test(value)) {     

    writeValidateInfo ("請輸入數字(整數位最多14位,小數位最多6位)!", thisInput);   

    return false;

  }

  return isNonnegative(value, thisInput);

}

/**

 * 驗證數字(20,4)

 */

function isNum20p4(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){}

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^(-)?\d{1,16}(\.\d{1,4})?$/;

  if (!reg.test(value)) {     

    writeValidateInfo ("請輸入數字(整數位最多16位,小數位最多4位)!", thisInput);   

    return false;

  }

  return isBiggerZero(value, thisInput);

}

/**

 * 供應商輸入的單批次保證金金額只能是正整數并且只能精確到百位

 */

function isDPCBZJ(value, thisInput) {

  //去掉空格

  try{

    thisInput.value=thisInput.value.trim();

  }catch(e){

      

  }

  value=value.trim();

  if(value.length ==0){

    return true;

  }

  var reg = /^[1-9]\d*00$/;

  if (!reg.test(value)) {     

    writeValidateInfo ("請輸入正確的保證金金額!", thisInput);

    return false;

  }

  return true;

}

//報表招標年度起始年度不能大于終止年度的判斷

function validateYear(startYear,endYear,flag) {

  if(startYear > endYear){

    if(flag==1){

      alert("起始月份不能大于終止月份");

       return false;

     }else{

      alert("招標起始年度不能大于終止年度");

      return false;

     }

  }

  return true;

}

以上就是本文的全部內容,希望對大家學習JavaScript程序設計有所幫助。

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美日韩久久精品| 伊人久久成人| aⅴ色国产欧美| 国产一区二区在线观看免费播放| 欧美日韩在线看| 免费观看一区| 久久久久久9| 欧美在线不卡| 先锋影院在线亚洲| 99精品99久久久久久宅男| 在线播放豆国产99亚洲| 狠狠入ady亚洲精品经典电影| 国产精品美女xx| 欧美日韩一区二区三区免费看| 欧美国产日韩一区二区在线观看| 狂野欧美一区| 免费不卡视频| 欧美精品一区二区三| 欧美日韩国产区| 欧美无砖砖区免费| 国产精品区免费视频| 国产精品伊人日日| 国产无一区二区| 一区在线影院| 亚洲精品一区二区网址| 日韩写真在线| 亚洲一区视频在线| 西西人体一区二区| 久久精品国产久精国产思思| 久久成年人视频| 久久夜色精品一区| 欧美激情中文字幕一区二区| 欧美高清在线视频| 国产精品videossex久久发布| 国产精品视频专区| 激情久久久久久久| 日韩亚洲欧美在线观看| 亚洲自拍啪啪| 久久久久免费视频| 欧美国产视频一区二区| 国产精品乱码久久久久久| 国内精品写真在线观看| 亚洲精品欧美在线| 亚洲欧美国内爽妇网| 久久人人爽人人爽爽久久| 欧美全黄视频| 国产午夜精品在线| 亚洲片区在线| 性欧美1819性猛交| 欧美国产日本| 国产亚洲福利一区| 亚洲毛片av| 久久久91精品国产| 欧美日韩亚洲国产一区| 黄色av日韩| 亚洲一区二区成人在线观看| 久久久久中文| 国产精品久久中文| 亚洲欧洲日韩女同| 久久精品女人| 欧美午夜在线一二页| 在线播放亚洲一区| 一本色道久久综合| 麻豆9191精品国产| 国产免费成人| 一本高清dvd不卡在线观看| 久久久精品国产免大香伊| 欧美日精品一区视频| 在线观看三级视频欧美| 性色av一区二区三区| 欧美日韩国产黄| 亚洲国产精品嫩草影院| 久久精品一区| 国产精品一区在线观看| 亚洲精品中文字幕女同| 另类天堂视频在线观看| 国产综合久久久久久| 亚洲欧美激情一区| 欧美亚洲成人精品| 日韩视频一区二区在线观看| 久久婷婷色综合| 国产一区二区三区免费在线观看| 亚洲一二三区在线观看| 欧美日韩国语| 亚洲精品乱码久久久久久蜜桃91| 久久免费视频在线| 激情欧美亚洲| 久久久久久国产精品一区| 国产午夜精品一区理论片飘花| 亚洲天堂av高清| 欧美日韩视频免费播放| 日韩亚洲在线观看| 欧美伦理在线观看| 日韩一区二区精品| 欧美日韩一区在线观看| 99精品视频免费观看视频| 欧美日本一区二区三区 | 在线成人免费观看| 免费日韩一区二区| 99在线热播精品免费| 国产精品久久国产三级国电话系列 | 免费在线看成人av| 麻豆成人综合网| 日韩亚洲欧美成人| 一区二区三区蜜桃网| 欧美国产一区二区在线观看| 国产日韩精品入口| 国产真实精品久久二三区| 国产日韩欧美一区在线| 欧美视频中文一区二区三区在线观看| 亚洲综合清纯丝袜自拍| 日韩亚洲不卡在线| 中国av一区| 久久成人精品无人区| 亚洲人www| 好吊妞**欧美| 久久精品综合| 国产精品欧美日韩| 中文在线一区| 欧美日韩在线视频一区| 午夜精品久久久久久| 亚洲先锋成人| 久久国产精品久久w女人spa| 国内免费精品永久在线视频| 一区二区黄色| 欧美风情在线观看| 亚洲大片免费看| 美腿丝袜亚洲色图| 好吊妞**欧美| 久久久综合精品| 国产在线拍偷自揄拍精品| 亚洲男人av电影| 欧美色道久久88综合亚洲精品| 亚洲国产欧美另类丝袜| 快播亚洲色图| 亚洲国产mv| 欧美精品福利在线| 99ri日韩精品视频| 欧美日一区二区在线观看| 亚洲视频免费看| 国产精品自拍三区| 欧美一区二区三区在| 国产亚洲欧洲| 久久精品一本| 亚洲第一区中文99精品| 欧美激情亚洲自拍| 一区二区三区**美女毛片| 欧美视频中文字幕| 亚洲欧美日本伦理| 国产一区二区在线观看免费| 久久亚洲精品欧美| 日韩视频免费观看高清在线视频 | 亚洲夫妻自拍| 欧美日韩高清在线播放| 中文国产成人精品久久一| 国产精品欧美日韩久久| 久久精品夜色噜噜亚洲a∨| 亚洲国产成人精品女人久久久| 欧美激情一区二区三区四区| 亚洲视频一二三| 国产日韩欧美精品综合| 免费亚洲一区二区| 亚洲一二三区在线| 韩国欧美一区| 欧美日韩一区二区在线观看视频| 亚洲午夜在线| 黄色国产精品| 欧美巨乳波霸| 欧美在线观看一区| 亚洲精品免费在线播放| 国产精品免费福利| 欧美成人蜜桃| 性感少妇一区| 亚洲免费成人| 国产亚洲精品久久久久婷婷瑜伽 | 久久久精品日韩| 99热这里只有精品8| 国产视频在线观看一区| 欧美日本国产视频| 久久精品免费| 亚洲一区二三| 亚洲人午夜精品| 国产主播一区二区三区四区| 欧美日韩国产一级片| 久久久久一区| 先锋影音国产精品| 一本久道久久综合狠狠爱| 永久免费视频成人| 国产日韩免费| 国产精品vvv| 欧美激情综合色| 久久一本综合频道| 久久国产99| 亚洲欧美欧美一区二区三区| 亚洲精品女人| 亚洲国产福利在线| 国产揄拍国内精品对白 | 免费亚洲电影在线观看| 欧美一区深夜视频| 亚洲一区二区在|