我正在尝试使用 JavaScript 验证这个正则表达式。我需要它做的是检查是否输入了至少 2 个单词。我所说的单词是指除了某些特定字符之外的任何字符的字符串。一切都很好,直到我用一个特殊的 unicode 字符结束一个字符串,比如“ā”。然后表达式无法验证。目前,表达式看起来像这样 -
/^([^<>\\\/\?&{};#{}\+\*()"=%@,:0-9]{1,}\w){2,}$/i
在这种情况下如何验证 unicode 表达式有什么想法吗?
我正在尝试使用 JavaScript 验证这个正则表达式。我需要它做的是检查是否输入了至少 2 个单词。我所说的单词是指除了某些特定字符之外的任何字符的字符串。一切都很好,直到我用一个特殊的 unicode 字符结束一个字符串,比如“ā”。然后表达式无法验证。目前,表达式看起来像这样 -
/^([^<>\\\/\?&{};#{}\+\*()"=%@,:0-9]{1,}\w){2,}$/i
在这种情况下如何验证 unicode 表达式有什么想法吗?
在大多数编程语言上,你会尝试这个 Unicode Regex:
/^([^<>\\\/\?&{};#{}\+\*()"=%@,:0-9\s]{1,}\p{L}){2,}$/ims
或者像这样
/^([^\P]{1,}\p{L}){2,}$/ims
但是,JS 并不那么容易支持 Unicode :(
例如,请参见此处:Javascript + Unicode 正则表达式