通过REGEX验证所有语言字符的字段

Str*_*ger 4 javascript regex validation

我需要验证一个字段为空。但是它应该允许使用英语和外国语言字符(UTF-8),但不能使用特殊字符。我不擅长Regex。因此,对此的任何帮助将是巨大的...

T.J*_*der 5

如果你想支持广泛的语言,你会被排除只有你不想要的人物,因为指定所有范围,你必须工作要做想将是困难的。

您需要查看Unicode块列表和/或字符数据库,以标识要排除的块(例如,U + 0000至U + 001F。此Wikipedia文章也可能会有所帮助。

然后使用带有字符类的正则表达式查找要排除的内容。

例如,这将检查U + 0000到U + 001F以及U + 007F字符(显然,您将排除这些字符):

if (/[\u0000-\u001F\u007F]/.exec(theString)) {
    // Contains at least one invalid character
}
Run Code Online (Sandbox Code Playgroud)

[]标识“字符类”(字符列表和/或范围内寻找)。那个特定的人说\u0000通过\u001F(包括)和查找\u007F


Emi*_*nov 4

如果我能说“就这么做”就好了/^\w+$/.test(word),但是……

请参阅此答案,了解 JavaScript 正则表达式中 unicode 支持(或者更确切地说缺乏)的当前状态。

您可以使用他建议的库,这可能会很慢,或者为此寻求服务器的帮助(这可能会更慢)。