utils->js->ecma->regexp

/**
 * 校验值是否符合预期
 * -------------------------------------------------------------------------------------------------
 */

/**
 * 判断是资源路径
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}


/**
 * 判断url格式
 * @param {string} url
 * @returns {Boolean}
 */
export function validURL(url) {
  const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
  return reg.test(url)
}

/**
 * 判断是ip
 * @param {string} path
 * @returns {Boolean}
 */
export function is_IP(path) {
  return /\d+\.\d+\.\d+\.\d+/.test(path)
}

// 表情符存在
export function isEmojiCharacter(substring) {
  for (var i = 0; i < substring.length; i++) {
    var hs = substring.charCodeAt(i);
    if (0xd800 <= hs && hs <= 0xdbff) {
      if (substring.length > 1) {
        var ls = substring.charCodeAt(i + 1);
        var uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
        if (0x1d000 <= uc && uc <= 0x1f77f) {
          return true;
        }
      }
    } else if (substring.length > 1) {
      var ls = substring.charCodeAt(i + 1);
      if (ls == 0x20e3) {
        return true;
      }
    } else {
      if (0x2100 <= hs && hs <= 0x27ff) {
        return true;
      } else if (0x2B05 <= hs && hs <= 0x2b07) {
        return true;
      } else if (0x2934 <= hs && hs <= 0x2935) {
        return true;
      } else if (0x3297 <= hs && hs <= 0x3299) {
        return true;
      } else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 ||
        hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b ||
        hs == 0x2b50) {
        return true;
      }
    }
  }
}
/**
 * 判断小写字母
 * @param {string} str
 * @returns {Boolean}
 */
export function validLowerCase(str) {
  const reg = /^[a-z]+$/
  return reg.test(str)
}

/**
 * 大写判断
 * @param {string} str
 * @returns {Boolean}
 */
export function validUpperCase(str) {
  const reg = /^[A-Z]+$/
  return reg.test(str)
}

/**
 * 判断字母
 * @param {string} str
 * @returns {Boolean}
 */
export function validAlphabets(str) {
  const reg = /^[A-Za-z]+$/
  return reg.test(str)
}

/**
 * 邮箱
 * @param {string} email
 * @returns {Boolean}
 */
export function validEmail(email) {
  const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
  return reg.test(email)
}

/**
 * 版本 xx.xxx
 * @export
 * @param  {any} value 
 * @return 
 */
export function validateVersion(value) {
  var myreg = /^([1-9]\d|[1-9])(\.([1-9]\d|\d)){2}$/;

  return myreg.test(email)


}

// 手机号
export function phoneFilter(obj) {
  var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1})|(19[0-9]{1})|(16[0-9]{1})|(14[0-9]{1}))+\d{8})$/;
  return myreg.test(obj)
}

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


// 删除行首行尾的空白字符
export function delete_head_tail(str) {
  return str.replace(/^\s*|\s*$/, '')
}


// 双字节字符(包括汉字在内)
export function is_doubleByte(str) {

  var reg = /[^\x00-\xff]/;
  return reg.test(str)
}
// qq验证
export function is_qq(str) {

  var reg = /[1-9][0-9]{4,}/;
  return reg.test(str)
}

// 删除html
export function delete_html(str) {
  return str.replace(/<[^>]+>/g, ""); //去掉所有的html标记
}
// 删除中文字符
export function delete_Chinese(str) {
  return str.replace(/ [\u4e00-\u9fa5]/g, ""); //去掉所有的html标记
}
// 包含中文字符
export function test_Chinese(str) {
  return (/ [\u4e00-\u9fa5]/g).test(str)
}
// 经纬度
export function is_longitude_latitude(lg, la) {
  var jdreg = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/;
  var wdreg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/;

  return jdreg.test(lg) && wdreg.test(la)
}


// 国内电话号码
export function is_tel(str) {

  var reg = /\d{3}-\d{8}|\d{4}-\d{7}/;
  return reg.test(str)
}


//车牌
export function is_car(str) {

  var reg = /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z*]{1}[a-zA-Z](([DF]((?![IO])[a-zA-Z0-9](?![IO]))[0-9]{4})|([0-9]{5}[DF]))|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领AZ*]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$/
  return reg.test(str)
};


// 删除空格
export function delete_empty(str, num) {
  if (num == 0) {
    str = str.replace(/\s*/g, ""); // 去除所有空格
  } else if (num == 1) {
    // str.trim()无法去除中间的空格,而str.trimLeft(),str.trimRight()分别用于去除字符串左右空格。

    str = str.replace(/^\s*|\s*$/g, ""); //去除两头空格
  } else if (num == 2) {
    str = str.replace(/^\s*/, ""); //去除左空格
  } else if (num == 3) {
    str = str.replace(/(\s*$)/g, ""); //去除右空格
  }
  return str
};
/**
 * 包含正则
 * @export
 * @param  {any} str 
 * @return {void}
匹配两个字符串A与B中间的字符串,且包含A与B:
表达式: A.*?B
示例: Abaidu.comB
结果: Awww.apizl.comB
匹配两个字符串A与B中间的字符串,且包含A但是不包含B:
表达式: A.*?(?=B)
示例: Awww.apizl.comB
结果: Awww.apizl.com
匹配两个字符串A与B中间的字符串,且不包含A与B:
表达式: (?<=A).*?(?=B)
示例: Awww.baidu.comB
结果: www.baidu.com
 */
export function
cutOut(str,num){

};

/**
 * 
 * @export
 * @param  {any} str 
 * @return 
 */
// ^//d+$  //非负整数(正整数 + 0) 
// ^[0-9]*[1-9][0-9]*$  //正整数 
// ^((-//d+)|(0+))$  //非正整数(负整数 + 0) 
// ^-[0-9]*[1-9][0-9]*$  //负整数 
// ^-?//d+$    //整数 
// ^//d+(//.//d+)?$  //非负浮点数(正浮点数 + 0) 
// ^(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*))$  //正浮点数 
// ^((-//d+(//.//d+)?)|(0+(//.0+)?))$  //非正浮点数(负浮点数 + 0) 
// ^(-(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //负浮点数 
// ^(-?//d+)(//.//d+)?$  //浮点数 
//  /^[0-9]+.?[0-9]*$/   //正数包括小数
// ^[a-zA-Z][a-zA-Z0-9_]{4,15}$  //匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
// ^//w+$  //由数字、26个英文字母或者下划线组成的字符串 
// ^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$  //8-16位数字和字母
// .replace(/(\.)(\d*)(\1*)/g,"$1$2")  禁止输入两个小数点
// .replace(/[^\d\.]/g,'') 只允许输入数字和小数点
// .replace(/^\d{6}(?=\.)|^\d{6}/g,'99999'))
// .replace(/^0(?=[0-9])/g,'') 去零
// oninput="value=(value.replace(/[^\d\.]/g,'').replace(/^0(?=[0-9])/g,'').replace(/^\d{4}(?=\.)|^\d{4}/g,'999')).replace(/(\.)(\d*)(\1*)/g,'$1$2')"


export function is_inputReg(str) {
  return 
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值