常用正则

常用有如下

  • 去左空格
  • 去右空格
  • 去左右空格
  • js截取两个字符串之间的内容
  • js截取某个字符串后面的内容
  • 取出script标签中的内容
  • 正则匹配年月 YY--MM--dd
  • 手机号码验证
  • 验证是否是中文
  • 验证是否是英文
  • 验证是否是数字
  • 只能输入小数点、数字
  • 去除某个标签
  • 验证营业执照编码

去左空格

function ltrim(s){
    return s.replace(/(^\s*)/g, "");
}

去右空格

function rtrim(s){
    return s.replace(/(\s*$)/g, "");
}

去左右空格

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

js截取两个字符串之间的内容

var str = "aaabbbcccdddeeefff";
str = str.match(/aaa(\S*)fff/)[1];
alert(str);//结果bbbcccdddeee

应用

image.match(/images\/(\S*)\/img/)[1]; //截取images/.../img之间的内容

注意:使用转义字符 \ 即可。如var reg=///;匹配一个正斜杠出现在正则中有特别含义的字符都需要\来转义,如:\ . * ^ & [ ] { } ? 等注意的是如果在[]字符集合里,很多字符都不需要转义。

js截取某个字符串前面的内容

var str = "aaabbbcccdddeeefff";
tr = str.match(/(\S*)fff/)[1];
alert(str);//结果aaabbbcccddd

js截取某个字符串后面的内容

var str = "aaabbbcccdddeeefff";
 str = str.match(/aaa(\S*)/)[1];
 alert(str);//结果bbbcccdddeeefff
let re = /aaa(\S*)/
new RegExp(re).exec(str)

取出script标签中的内容

arousePayment.replace(/<script.*?>([\s\S]+?)<\/script>/img,function(_,js){    //正则匹配出script中的内容
  arousePayment = js
});

正则匹配年月 YY--MM--dd

/^(\d{2})(-|\/)(0?[1-9]|1[0-2])$/

手机号码验证

!(/^(13[0-9]|14[0-9]|15[0-9]|166|17[0-9]|18[0-9]|19[8|9])\d{8}$/).test(phone)

验证是否是中文

var pattern = new RegExp("[\u4E00-\u9FA5]+");
var str = "中文字符"
 if(pattern.test(str)){
     alert('该字符串是中文');
 }

验证是否是英文

var pattern2 = new RegExp("[A-Za-z]+");
var str2 = "abcdefsgaaweg"
if(pattern2.test(str2)){
    alert('该字符串是英文');
}

验证是否是数字

var pattern3 = new RegExp("[0-9]+");
var str3 = "234234"
if(pattern3.test(str3)){
    alert('该字符串是数字');
}

只能输入小数点、数字

    var reg = /^\d*\.{0,1}\d{0,1}$/;
    if (!reg.test(val)) {
      uni.showToast({
        title:'只能输入数字或小数点',
        icon:'none'
      })
      return  0;
    }

去除某个标签

datas = datas.replace(/<script.*?>.*?<\/script>/gi, "");

验证营业执照编码

    //验证营业执照
    checkLicense(code){
      var tip = "OK";
      var pass= true;

      if(code.length != 18){
          tip = "社会信用代码长度错误!";
          pass = false;
      }
      var reg = /^([159Y]{1})([1239]{1})([0-9]{6})([0-9ABCDEFGHJKLMNPQRTUWXY]{9})([0-9ABCDEFGHJKLMNPQRTUWXY]{1})$/;
      if(!reg.test(code)){
          tip = "社会信用代码校验错误!";
          pass = false;
      }
      //不用I、O、S、V、Z
      var str = '0123456789ABCDEFGHJKLMNPQRTUWXY';
      var ws =[1,3,9,27,19,26,16,17,20,29,25,13,8,24,10,30,28];

      var codes  = new Array();
      var sum = 0;
      codes[0] = code.substr(0,code.length-1);
      codes[1] = code.substr(code.length-1,code.length);

      for(var i=0;i<codes[0].length;i++){
          var Ancode = codes[0].charAt(i);
          var Ancodevalue = str.indexOf(Ancode);
          sum += Ancodevalue * ws[i];
      }
      var indexOfc18 = 31 - (sum % 31);
      var c18 = str.charAt(indexOfc18);
      if(c18 != codes[1]){
          tip = "社会信用代码有误!";
          pass = false;
      }

      return {'errCode':pass, 'errMsg':tip};
    },
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • hello,大家好,正则想必是每个程序员的苦恼,每次都要去反复敲定才能使用,这是我平常收集使用的一些正则表达式现在...
    MC丶逗逼嘿阅读 806评论 0 0
  • 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,AS...
    LiJinliang阅读 283评论 0 0
  • 匹配中文字符: [u4e00-u9fa5] 匹配双字节字符(包括汉字在内):[^x00-xff] 可以用来计算字符...
    MaxWithU阅读 236评论 0 2
  • 1、字母:匹配单个字母 (1)A:表示匹配字母A; (2)\\:匹配转义字符“\”; (3)\t:匹配转义字符“\...
    c5f53901bdd8阅读 8,602评论 0 3
  • 校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的...
    __Max__阅读 678评论 0 49