美文网首页
12 个常用的 JavaScript 函数 和验证

12 个常用的 JavaScript 函数 和验证

作者: 糖醋里脊120625 | 来源:发表于2022-11-02 16:08 被阅读0次

https://juejin.cn/post/7127278574033174542

/*
 * 
 */


export function FormValidation(formVal) {
  console.log(formVal)
  if(formVal.regEntryDate==''){
    return {
      tipsText:"入场日期不可为空",
      JudgmentData:false
    }
  }
  if(formVal.licensePlateNo==''){
    return {
      tipsText:"车牌号不可为空",
      JudgmentData:false
    }
  }
  if(formVal.carType==''){
    return {
      tipsText:"请选择车辆类型",
      JudgmentData:false
    }
  }
  
  if(formVal.originProvinceName==''){
    return {
      tipsText:"货源地不可为空",
      JudgmentData:false
    }
  }

  if(formVal.isOwnProduct==false){
    if(formVal.supplierName == ''){
      return {
        tipsText:"供货商不可为空",
        JudgmentData:false
      }
    }
    if(formVal.supplierCreditCode == ''){
      return {
        tipsText:"社会信用码不可为空",
        JudgmentData:false
      }
    }
  }

  if(formVal.isOwnProduct==  true){
    if(formVal.supplierContactIdCard == ''){
      return {
        tipsText:"身份证号不可为空",
        JudgmentData:false
      }
    }

    if(isCardNo(formVal.supplierContactIdCard) == false){
      return {
        tipsText:"身份证号格式不对",
        JudgmentData:false
      }
    }

  }

  if(formVal.supplierContactName==''){
    return {
      tipsText:"供应商联系人不可为空",
      JudgmentData:false
    }
  }
  if(formVal.supplierContactMobileNo==''){
    return {
      tipsText:"供应商手机号不可为空",
      JudgmentData:false
    }
  }

  if(isMobile(formVal.supplierContactMobileNo) == false){
    return {
      tipsText:"手机号格式不对",
      JudgmentData:false
    }
  }

  if(isVehicleNumber(formVal.licensePlateNo) == false){
    return {
      tipsText:"车牌号格式不对",
      JudgmentData:false
    }
  }

  
  
  return {
    tipsText:"验证对了",
    JudgmentData:true
  }
 
  
}

// 手机验证
export function isMobile(val) {
  const value = val.replace(/[^-|\d]/g, '');
  return /^((\+86)|(86))?(1)\d{10}$/.test(value) || /^0[0-9-]{10,13}$/.test(value);
}

// 车牌号验证
function isVehicleNumber(vehicleNumber) {
  var xreg=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
  var creg=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
  if(vehicleNumber.length == 7){ 
    return creg.test(vehicleNumber);
  } else if(vehicleNumber.length == 8){
    return xreg.test(vehicleNumber);
  } else{
    return false;
  }
 
}


// 身份证号码验证
function isCardNo(card){ 
  // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X 
  var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; 
  if(reg.test(card) === false){ 
    return false; 
  }else{
    return true; 
  } 
}




//路径函数切割方法
export function InterceptURL(res) {
  if(/.+\?(.+)$/.exec(res)[1]){
    const paramsStr = /.+\?(.+)$/.exec(res)[1]; // 将 ? 后面的字符串取出来
    const paramsArr = paramsStr.split('&'); // 将字符串以 & 分割后存到数组中
    let paramsObj = {};
    // 将 params 存到对象中
    paramsArr.forEach(param => {
      if (/=/.test(param)) { // 处理有 value 的参数
        let [key, val] = param.split('='); // 分割 key 和 value
        val = decodeURIComponent(val); // 解码
        if (paramsObj.hasOwnProperty(key)) { // 如果对象有 key,则添加一个值
          paramsObj[key] = [].concat(paramsObj[key], val);
        } else { // 如果对象没有这个 key,创建 key 并设置值
          paramsObj[key] = val;
        }
      } else { // 处理没有 value 的参数
        paramsObj[param] = true;
      }
    })
    //console.log(paramsObj)
   
     return Promise.resolve(paramsObj)

  }else{
    alert("1")
  }
}

相关文章

网友评论

      本文标题:12 个常用的 JavaScript 函数 和验证

      本文链接:https://www.haomeiwen.com/subject/eymjtdtx.html