2016-06-09 93 views
-2

下面是我的地址欄的正則表達式:正則表達式:錯誤 - 無效的正則表達式「系列出的順序字符類」

/^[a-zA-Z0-9#.,;:'()\/&-"!]+([a-zA-Z0-9#.,;:'()\/&-"!]+)*$/ 

它扔我下面的錯誤:

Invalid regular expression: /^[a-zA-Z0-9#.,;:'()//&-"!]+([a-zA-Z0-9#.,;:'()//&-"!]+)*$/ :

Range out of order in character class

+2

逃離'-'內部字符類或將其移動到開始時或結束。 '/^[a-zA-Z0-9#。,;:'()\ /&& - - 「!] +([a-zA-Z0-9#。,;:'()\ /&\ - 「!] +)* $ /'。 – Tushar

+0

[也許更多類似](http://stackoverflow.com/questions/10184369/range-out-of-order-in-character-class-in-php-regex) – ClasG

+0

@Tushar:你能告訴我如何限制用戶,如果他只輸入特殊字符。用戶應該寫字母不是單獨的字母。我是新的正則表達式。 下面是我的正則表達式 -/^ [a-zA-Z - ,.;'&\ /。()「!] +([a-zA-Z - ,.;'&\ /。()」!] +)* $ / – Kalashir

回答

1

在您的正則表達式-符號用於範圍。在它之前用\-您的問題將解決。

,而不是這樣的:

/^[a-zA-Z0-9#.,;:'()\/&-"!]+([a-zA-Z0-9#.,;:'()\/&-"!]+)*$/ 

使用下列內容:

/^[a-zA-Z0-9#.,;:'()\/&\-"!]+([a-zA-Z0-9#.,;:'()\/&\-"!]+)*$/