如何生成支持包含数字 [0-9]、字母 [a-z] 和 [A-Z] 的 utf8 字符的正则表达式。
我正在使用 xregexp 库来支持 utf-8 字符。
到目前为止我用过:
- XRegExp("^\p{L}\d{0-9}+$")//不支持其中任何一个。
- XRegExp("[^\p{N}\p{L}]")//不支持其中任何一个。
- XRegExp("^\p{L}+$")//仅支持 UTF-8 字符、[a-z] 和 [A-Z] 而不是 [0-9]
谢谢。
最佳答案
只需将 \\p{L}+
与 [0-9]
结合使用:
XRegExp("^(\\p{L}|[0-9])+$")
请注意,您需要转义反斜杠:\\
。
要包含 _/-
:
XRegExp("^(\\p{L}|[0-9_/-])+$")
请注意,破折号 (-
) 必须是括号中的第一个或最后一个字符,因为它具有特殊含义。
关于javascript 正则表达式支持带有数字和字母的 UTF8 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24365018/