1

我需要以下数据的正则表达式:

允许所有数字、所有字母或数字和字母的组合,包括特殊字符:

@ . – ‘ ? , ( ) : ; ! * $  _  =  + ^  &  #

和法语 Unicode 重音字符。

请帮忙。我正在使用以下正则表达式,它适用于其他字符,但它以某种方式允许正斜杠(/)

VALIDATOR_STRING = "^[A-Za-z0-9éÉèÈçÇâÂêÊôÔ@.'#,-?:;!*$_=+^&()]+$";
4

1 回答 1

7

如果您-在字符类中使用破折号(如 in ),它表示一个范围(在此示例中,和A-Z之间的每个大写字母)。AZ

因此,您允许,-?其中包含正斜杠的范围。如果您查看http://www.asciitable.com,您会发现该范围包含以下每个字符:, . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

为避免这种行为,请将破折号作为字符类中的第一个或最后一个字符:

VALIDATOR_STRING = "^[-A-Za-z0-9éÉèÈçÇâÂêÊôÔ@.'#,?:;!*$_=+^&()]+$";
于 2013-09-19T12:26:28.830 回答