react/js 实时匹配正则表达式

需求:在文本框中输入正则表达式和数字,实时显示匹配结果。

代码如下:

 const text = e.target.value; //输入的匹配文本
 const Rep = this.state.record.rep; //输入的正则字符串
 const patt = new RegExp(Rep,"g"); 
 const result = text.match(Rep);//显示匹配的字符
 // const result = patt.test(text); //显示匹配的结果

不过这里有一个点需要注意,就是从文本框里面获取到的是字符串,所以这个字符串有和一般的正则表达式不一样。

比如一般写正则是写:/^[0-9]*$/

但在文本框里输入的时候是写:^[0-9]*$

去掉了两个斜杠。这个对应的知识点是 es5 的正则拓展。

它写到:

var regex = new RegExp('xyz', 'i');
// 等价于
var regex = /xyz/i;

test 是实时展示 true/false ,match 是匹配成功的时候就展示匹配结果,匹配不成功的时候就展示 null . 

猜你喜欢

转载自blog.csdn.net/wsh2467991332/article/details/86215871