我需要以下数据的正则表达式:
所有数字,所有字母或数字和字母组合(包括特殊字符)允许:
@ . – ‘ ? , ( ) : ; ! * $ _ = + ^ & #
和法语Unicode口音字符。
请帮忙。我使用以下正则表达式,它适用于其他字符,但它以某种方式允许正斜杠(/)
。
VALIDATOR_STRING = "^[A-Za-z0-9éÉèÈçÇâÂêÊôÔ@.'#,-?:;!*$_=+^&()]+$";
答案 0 :(得分:7)
如果您在字符类中使用短划线-
(例如A-Z
中),则表示范围(在此示例中,A
和Z
之间的每个大写字母)。
因此,您允许包含正斜杠的,-?
之间的范围。如果您查看http://www.asciitable.com,您会看到此范围包含以下所有字符:, . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
要避免此行为,请将短划线放在字符类中的第一个或最后一个字符:
VALIDATOR_STRING = "^[-A-Za-z0-9éÉèÈçÇâÂêÊôÔ@.'#,?:;!*$_=+^&()]+$";