常用正则:提取内容, 格式化数字

一、提取 [ ] 之间内容

待提取内容:12[34]56[7]8[90]
1:[^[]+(?=]),结果:["34", "7", "90"]
2:(?<=[).+(?=]),结果:34]56[7]8[90

二、提取标签内容

var html = "<p>111</p> <p>222</p> <p>333</p>";
html.match(/[^><]+(?=</p>)/img);

三、格式化数字

常见需求:把一个数字,每三位用逗号隔开

第一种情况:无小数

var str = "10000000000";
var reg = /(?=B(d{3})+$)/g;
str.replace(reg , `,`);

结果:10,000,000,000

第二种情况:有小数

var str = "100000.345224";
var reg = /(?=B(d{3})+($|.))/g
str.replace(reg , `,`)

结果:100,000,345,224

第三种情况:补位0

var digit = 10; // 需要显示10位,不足用0补齐
var num = 123.456;
var str = num.toFixed(2); 
str = (Array(digit).join(0) + str).slice(-digit);

结果:0000123.46   

  

持续更新。。。

原文地址:https://www.cnblogs.com/allenxt/p/11534521.html