RegExp

RegExp:

 在js中没有replaceAll ,因此需要替换全部需要用正则来替换。

/gi  ,g表示全局global,i表示忽略大小写 ignore

  • 查找:
  • 替换:

 数字检验:

var regexp=/^d+$/;

regexp.test(str)

多个内容匹配:

var name = name.search(/中国|日本/i);

在使用正则时,如果遇到特殊含义字符需要转义。

如果在new RegExp中需要对含义内容转义,比如:

name.search(/w+/i)  查找{

使用RegExp   new RegExp("\w+")  , new RegExp("日本|中国")

替换:

日期格式化替换 $1 $2为保留的项 匹配时需要用()包起来:

fmtDate = function(_datestr, _pattern){
var date = new Date(_datestr);
var year = date.getYear() + 1900;
var month = date.getMonth() + 1 > 12 ? 1 : date.getMonth() + 1;
var day = date.getDate();
_pattern = _partten.replace(/y{1,4}(-)m{1,2}(-)d{1,2}/gi, year + "$1" + month + "$2" + day);
return _pattern;
}

正则替换:

以下是给匹配的内容添加下划线

var exp = new RegExp(searchTxt,'g');
var result = targetTxt.replace(exp,"<u>" + searchTxt + "</u>");

有含义的特殊字符:

特别字符

说明

$

匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘ ' 或 ‘ '。要匹配 $ 字符本身,请使用 $。

( )

标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )。

*

匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。

+

匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +。

.

匹配除换行符  之外的任何单字符。要匹配 .,请使用 。

[ ]

标记一个中括号表达式的开始。要匹配 [,请使用 [。

?

匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 ?。

将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n' 匹配字符‘n'。' ' 匹配换行符。序列 ‘\' 匹配 “”,而 ‘(' 则匹配 “(”。

^

匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 ^。

{ }

标记限定符表达式的开始。要匹配 {,请使用 {。

|

指明两项之间的一个选择。要匹配 |,请使用 |。

原文地址:https://www.cnblogs.com/DennyZhao/p/7559855.html