正则表达式:字符集验证

时间:2017-01-03 14:29:34

标签: javascript c# regex validation

我有^[a-zA-Z_ ,.'-]+$这个正则表达式Name验证工作正常。但问题是,允许撇号会引发一些问题。所以我在验证之前对撇号进行了编码。

name = name.Replace("'", "'");

现在,john's doe之类的有效名称看起来像john's doe,无法使用当前的正则表达式进行验证。

现在我想要检查该名称是否包含与'完全一致的有效字符集。

注意:我不想将&;添加到当前字符集中,因为这会允许&;作为有效名称。

1 个答案:

答案 0 :(得分:2)

使用分组构造(...)(?:...)

^(?:[a-zA-Z_ ,.-]|')+$

<强>详情:

  • ^ - 字符串开头
  • (?:[a-zA-Z_ ,.-]|&apos;)+ - 两者中的任何一个:
    • [a-zA-Z_ ,.-] - 来自
    • 的符号
    • | - 或
    • &apos; - 子字符串&apos;
  • $ - 字符串结束。