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

标签 javascript regex validation

我需要验证一个字段是否为空。但它应该允许英文和外语 字符(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/

相关文章:

mysql - 匹配除换行符之外的任何字符(mysql 正则表达式)

php - Laravel csrf 验证在单元测试期间失败(Laravel 4.1)

javascript - Jqvmap 工具提示不起作用

javascript - 为什么 JavaScript 在使用对象作为键时会隐式字符串化参数值?

javascript - 找出正则表达式失败的位置

java - 为什么 @Size 验证注释会影响 DataNucleus JPA 数据库架构?

ruby-on-rails-3 - 尽管经过验证,为什么 Rails 3.2 允许重复记录?

javascript - 将对象插入全局数组?

javascript - Angular 和 Leaflet 在点击时添加标记并获取 Coord

JavaScript 使用 .match(regex) 分割字符串