我使用以下RegEx:
public const string SpecialCharRegex = @"^[A-Za-z0-9\s\(\)\.\&\-',`]+$";
我正在使用它在iPhone上验证iOS应用中的字段。
我喜欢匹配此课程中的所有角色。但是,我有印刷智能/卷曲撇号的问题。
示例:
My name is AB'c
没关系,但如果在iPhone上输入错误,则会抛出错误。
事实证明,iOS键盘没有放入撇号'(char 39),而是一个Unicode'智能'左引号(char 8216)。如何调整模式以匹配智能引号?
答案 0 :(得分:2)
那里有很多quotation mark个字符。
我想你也想抓住那些:
U + 2018:左单引号标记
U + 2019:正确的单个报价标记
U + 201C:左双重报价标记
U + 201D:右双引号
像这样添加它们以便character class:\uFFFF
或\xFF
(请参阅here)
string SpecialCharRegex = @"^[A-Za-z0-9\s\(\)\.\&\-',`\u2018\u2019\u201C\u201D]+$";