JS正则匹配实例邮箱、手机号、电话、货币
1. 千位符:
function formatMoney (number, places, symbol, thousand, decimal){ number = number || 0; //保留的小位数 可以写成 formatMoney(542986,3) 后面的是保留的小位数,否则默 认保留两位 places = !isNaN(places = Math.abs(places)) ? places : 2; //symbol表示前面表示的标志是¥ 可以写成 formatMoney(542986,2,"$") symbol = symbol !== undefined ? symbol : "¥"; //thousand表示每几位用,隔开,是货币标识 thousand = thousand || ","; //decimal表示小数点 decimal = decimal || "."; //negative表示如果钱是负数有就显示“-”如果不是负数 就不显示负号 //i表示处理过的纯数字 var negative = number < 0 ? "-" : ""; var i = parseInt(number = Math.abs(+number || 0), 10) + ""; console.log(i); var j = (j = i.length) > 3 ? j % 3 : 0; return symbol + negative + (j ? i.substr(0, j) + thousand : "") + i.substr(j).replace(/\B(?=(\d{3})+(?!\d))/g, thousand) + (places ? decimal + Math.abs(number - i).toFixed(places).slice(2) : ""); } console.log(formatMoney(1234567.1234,3));
https://juejin.im/post/5b026bbb5188256720345bb4
正则表达式的详解。
1-2. JavaScriptAPI。
var formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'JPY', //此处为各货币的缩写,如$USD、¥JPY,CAD,EUR,GBP等,都能展示对应的货币显示 minimumFractionDigits: 2 }); console.log(formatter.format(12345.5556))//¥12,345.56
2.
/*是否带有小数*/ function isDecimal(strValue ) { var objRegExp= /^\d+\.\d+$/; return objRegExp.test(strValue); } /*校验是否中文名称组成 */ function ischina(str) { var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/ return reg.test(str); /*进行验证*/ } /*校验是否全由8位数字组成 */ function isStudentNo(str) { var reg=/^[0-9]{8}$/; /*定义验证表达式*/ return reg.test(str); /*进行验证*/ } /*校验电话码格式 */ function isTelCode(str) { var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/; return reg.test(str); } /*校验邮件地址是否合法 */ function IsEmail(str) { var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/; return reg.test(str); }
var
data =
'windows 98 is ok'
;
data.match(/windows (?=\d+)/);
// ["windows "]
data.match(/windows (?:\d+)/);
// ["windows 98"]
data.match(/windows (\d+)/);
// ["windows 98", "98"]