从后端到客户端共享regex

nafvub8i  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(118)

我想在后端创建一个正则表达式,并将其共享到客户端进行验证。
因此,虽然下面的工程在客户端

/^\d{0,10}$/.test('X')

由于后端只能返回字符串形式的正则表达式,因此当它是字符串时,下面的失败

"/^\d{0,10}$/".test('X')

我该怎么解决这个问题?

elcex8rz

elcex8rz1#

JS可以像你想的那样处理字符串正则表达式,但是你只需要用一个RexExp对象来解析这个字符串。

var regex_str_from_server = "^\\d{0,10}$";
var regex = new RegExp(regex_str_from_server);

console.log('X', regex.test('X'));
console.log('45', regex.test('45'));

请记住,当使用字符串正则表达式时,您不需要在开头和结尾使用/斜杠,并且任何\斜杠(如使用\d的地方)必须通过添加另一个斜杠进行转义,以便在正则表达式字符串中看起来像\\d

相关问题