js正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js正则表达式相关的知识,希望对你有一定的参考价值。
一、 基本语法
1 直接量语法
/pattern/attributes
2 创建RegExp对象语法
new RegExp( pattern, attributes);
参数介绍:
pattern:参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是 正则表达式,而不是字符串,则必须省略该参数。
二、经典实例
1 正则实现去除时间后面的时分秒(2017/7/9 00:00:00)
var str = "2017/7/9 00:00:00";
str.replace(/(\S+)\s(\S+)/,"$1");
result: 2017/7/9
注:\S代表查找一个非空白字符 \s代表查找一个空白字符 +代表匹配前面的子表达式一次或多次(大于等于1次)
$1代表第一个括号里面的匹配到的内容
2 正则实现数字千分位
var num = 1245354;
var str = num.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g,"$1,");
result: "1,245,354.00"
注: toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
(\d)代表匹配一个数字
(\d{3}) 代表匹配三个长度的数字
(\d)(? = (\d{3})) 代表匹配的\d这个数字后面需要有三个数字
+代表匹配的前一个表达式成立一个或多次(即匹配的数字后面长度可以是3也可以是6或其它倍数)
\.转译表示.号是普通的.号,这个要求匹配的数字不仅要满足上面的要求,还要满足后面是3位或6位或其他倍数接下来的需要是.号
g代表全局查找
以上是关于js正则表达式的主要内容,如果未能解决你的问题,请参考以下文章