我正在使用jquery驗證引擎,並嘗試添加正則表達式的自定義驗證。正則表達式的數字,連字符和加號+
但如何設置它只允許數字,連字符和+符號?
我嘗試了不同的方法,如:
^[0-9a-zA-Z -+]+$
^[0-9a-zA-Z -\+]+$
但他們沒有工作,如果我把加號連字符後。爲什麼?
我正在使用jquery驗證引擎,並嘗試添加正則表達式的自定義驗證。正則表達式的數字,連字符和加號+
但如何設置它只允許數字,連字符和+符號?
我嘗試了不同的方法,如:
^[0-9a-zA-Z -+]+$
^[0-9a-zA-Z -\+]+$
但他們沒有工作,如果我把加號連字符後。爲什麼?
在字符類的-
(連字符),用於指示字符範圍(就像0-9
指從0
到9
)。您可以逃避它,或把它在末端,使其正常工作:
^[0-9a-zA-Z\-+]+$
^[0-9a-zA-Z+-]+$
編輯:另外,我不知道你把空間在那裏。由於您的限制,我將其刪除,但如果需要,您可以將其添加回(在第二個正則表達式的連字符之前)。
連字符創建一個範圍(就像你0-9
做你的情況,它產生於+
一系列從太空(以ASCII/Unicode的順序),這是相當一串字符:。!"#$%&'()*+
和空間本身
逃生連字符或把它在結束(除非你想接受空格刪除空格):
^[0-9a-zA-Z+-]+$
-
在字符類特殊的意義事實上,你甚至使用它爲此您的a-z
,A-Z
和0-9
組。
要使用連字符,要麼逃避它\-
或者只是把它在類(右前]
)
結束試試這個正則表達式
^[0-9a-zA-Z+-]+$
一)這將匹配任何串。如在中,沒有字符串可以使這種模式失敗b)不區分大小寫的標誌是多餘的(或者「A-Z」是)。 c)模式中有兩個空格(我認爲OP甚至不需要那裏的空間)。 d)字符類包含從空格到下劃線的範圍,其中包括[幾乎所有其他可打印的ASCII字符](http://www.asciitable.com/)e)(請在你的模式中包含一個解釋)[http:// meta.stackexchange.com/questions/177757/are-answers-that-just-contain-a-regular-expression-pattern-really-good-answers) –
好的,謝謝@ m.buettner向我解釋程序 –
我編輯了我的代碼我看到我以前的答案和檢查,你現在我現在實現模式 –