我需要验证一个字段是否为空。但它应该允许英文和外语 字符(UTF-8) 但不允许特殊字符。我不擅长正则表达式。所以在这方面的任何帮助都会很棒......
最佳答案
如果你想支持多种语言,你必须通过只排除你不想要的字符来工作,因为指定你想要想要的所有范围是很困难的.
您需要查看 list of Unicode blocks和或the character database识别要排除的 block (例如,U+0000 到 U+001F。This Wikipedia article 也可能有帮助。
然后使用 regular expression使用字符类来查找您想要排除的内容。
例如,这将检查 U+0000 到 U+001F 和 U+007F 字符(显然您将排除的不仅仅是这些字符):
if (/[\u0000-\u001F\u007F]/.exec(theString)) {
// Contains at least one invalid character
}
[]
标识“字符类”(要查找的字符列表和/或范围)。那个特别的说寻找 \u0000
到 \u001F
(含)以及 \u007F
。
关于javascript - 通过 REGEX 验证所有语言字符的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13855335/