Javascript正则表达式创建错误

Dmi*_*sev 0 javascript regex

我有以下JavaScript代码:

aw_check_custom_validation['my-phone'] = /^\+[0-9]{1,3}(\s[0-9]{1,6}\s|\([0-9]{1,6}\)|[0-9]{1,6})[0-9\s]{5,8}$/u;
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Uncaught SyntaxError: Invalid flags supplied to RegExp constructor 'u'
Run Code Online (Sandbox Code Playgroud)

为什么/ u标志会导致此错误?

Tim*_*ker 7

好吧,该/u标志是特定于PHP的,支持Unicode支持(无论如何您的正则表达式都没有使用,除非您计划将Unicode空白字符与\s速记匹配).为什么不删除它?

作为参考,JavaScript的仅支持/g(全局匹配), /i(不区分大小写匹配)和/m(多行,即,允许^$在每个行的开始和结束相匹配)改性剂.