日常工作用到的正则

262 阅读1分钟

1、手机号码加*

"13422222222".replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');

时间格式化:

"20190710".replace(/(\d{1,4})(\d{1,2})(\d{1,2})/g, '$1月$2日$3日');

"20190710".replace(/(\d{1,4})(\d{1,2})(\d{1,2})/g, '$1-$2-$3');

2、隐藏银行卡号

"1111111111111111111".replace(/^(\d{4})\d+(\d{4})$/, '**** **** **** $2'); 

'1111111111111111'.replace(/.(?=.)/g, '*');

3、遇见大写字母改为"_"

'componentMapModelRegistry'.match(/^[a-z][a-z0-9]+|[A-Z][a-z0-9]*/g).join('_').toLowerCase();

4、用户名只显示最后一位 

"我是测试".replace(/[^,](?=[^,]+,)|[^,](?=[^,]+$)/g, '*');

'我是测试'.replace(/.(?=.)/g, '*');

5、拿去到RGB

var s = "rgb(10, 191, 207) none repeat scroll 0% 0% / auto padding-box border-box" 

s = s.match(/^rgb\((.*)\)/)[0]

6、检查质数

function isPrime(n) { return !(/^.?$|^(..+?)\1+$/).test('1'.repeat(n)) }

7、度转化温度

function f2c(s) {

      var test = /(\d+(\.\d*)?)F\b/g; // 初始化模式。

      return(s.replace (test, function($0,$1,$2) { return((($1-32) * 5/9) + "C"); } ) ); 

 f2c("Water freezes at 32F and boils at 212F.");

8、千分位

String(Number).replace(/(\d)(?=(\d{3})+$)/g, "$1,"); 

Number.toLocaleString('en-US');--如(123456789).toLocaleString('en-US');

9、删除URL参数

url=url.replace(/(\?|\&)" + id + "=([^\&]+)/,"");

10、删除url某个参数 

fDeleUrlQuerStr:function(name,url){ 

        var reg = new RegExp(name + '=([^&]*)(&|$)', 'i'),

        param, url = url?url:location.href; 

        param = url.substr(url.indexOf("?")).substr(1).replace(reg,''); 

        return url.match(/[\s\S]*\?/)[0]+param; 

 }

11、最近在做一个验证人名,本来以为只验证中文名,限制一下输入字数就可以了 /^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/ 但是,后面项目说要加上能验证少数民族名,这就来了,中间的点是个麻烦事,于是就开始了各种找资料,最终解决办法如下 /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/

12、校验数字 大于0 小于等于1     /^([1](\.0+)?|0\.[0-9]+)$/



juejin.cn/post/684490…