我知道这是一个愚蠢的问题,但我花了两天谷歌搜索没有任何结果。 regExp模式应该允许我的用户只键入西里尔字符和空格? 提前谢谢!
答案 0 :(得分:1)
你不能在Javascript中执行此操作,因为Javascript在其正则表达式中甚至不提供最基本的Level 1 Unicode support。您必须切换语言才能正确执行此操作。
您无法使用枚举块范围。这会混淆块和脚本,这是非常有缺陷的。有150个代码点具有\p{Script=Cyrillic}
属性但缺少\p{Block=Cyrillic}
属性。他们在不同的街区。观看:
$ unichars '\p{Script=Cyrillic}' '\P{Block=Cyrillic}' | wc -l
150
此外,西里尔字母块中还有一些非西里尔字母代码点。
你能做的最好的事情是将所有404个西里尔字母代码点枚举为一个字符类,这可能会非常大。
$ unichars '\p{Script=Cyrillic}' | wc -l
404
如果您真的想要,可以使用the unichars scripts列出全部内容。你可能还想在那里抓住the uniprops script。