js验证框架实现代码分享

前端技术 2023/09/02 JavaScript

本文实例为大家分享了js验证框架,很实用,供大家参考,具体内容如下

1、关键方法和原理:

function check(thisInput) 方法中的
 if (!eval(scriptCode)) { 
     return false;
    }

2、调用示例:

复制代码 代码如下:
 <input type=\"text\" class=\"text_field percentCheck\" name=\"progress_payment_two\" id=\"progress_payment_two\" inputName=\"进度款2比例(%)\" validate=\"isNumeric;notNull\" maxLength=\"350\" value=\"\" />

3、验证时会自动调用:isNumeric 方法 和 notNull方法并返回验证的结果信息。

4、验证框架源码如下

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;
}

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文地址:https://www.stayed.cn/item/3395

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。