,我需要使用jQuery的正則表達式來驗證地址1,地址2,市..驗證地址和城市jQuery的正則表達式:如何使用jQuery正則表達式
用於街道地址。法律特徵:A-Z,a-z,0-9,連字符,斜槓和單個空格。非法字符:前導空格,尾隨空格,相鄰空格和其他符號。
用於城市。法律特徵:A-Z,a-z和單個空格。非法字符:前導空格,尾隨空格,相鄰空格和符號。
樣本:
地址1:{要求:真實,正則表達式: 「A-ZA-Z0-9 *」}
,我需要使用jQuery的正則表達式來驗證地址1,地址2,市..驗證地址和城市jQuery的正則表達式:如何使用jQuery正則表達式
用於街道地址。法律特徵:A-Z,a-z,0-9,連字符,斜槓和單個空格。非法字符:前導空格,尾隨空格,相鄰空格和其他符號。
用於城市。法律特徵:A-Z,a-z和單個空格。非法字符:前導空格,尾隨空格,相鄰空格和符號。
樣本:
地址1:{要求:真實,正則表達式: 「A-ZA-Z0-9 *」}
我認爲你這樣做是對一些項目,所以你應該人物瞭解如何自行完成正則表達式。
但是,我會告訴你。這是我的理解,你需要分別給每個領域的正則表達式,他們將分別驗證。
//Address 1 & 2 regex
regex: /^[a-zA-Z0-9-\/] ?([a-zA-Z0-9-\/]|[a-zA-Z0-9-\/])*[a-zA-Z0-9-\/]$/
以字母/數字/破折號/斜線開頭,後跟可選空格。按照任意數量的l/n/d/s或l/n/d/s後跟一個空格(因爲每個空格都必須以l/n/d/s作爲前綴,所以這裏強制只有一個空格)。以l/n/d/s結尾。
//City is much easier:
regex: /^[a-zA-z] ?([a-zA-z]|[a-zA-z])*[a-zA-z]$/
和上面幾乎一樣,只是不用擔心數字,破折號和斜線。
退房單元測試:http://jsfiddle.net/LJCzR/4/
如上所述,但如果你不這樣做學術的理由,那麼我就不會在驗證前/後空間或重複的空間都沒有。我會默默地清理它。另外,你根本無法解釋每一種情況。這種驗證只是令人討厭。
非常感謝你這麼多tandu ... – yogee 2011-03-02 08:53:34
這是一個很棒的Regexp教程,解釋了語法是如何工作的以及如何進行多種類型的驗證。 http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/。
在那篇文章中有太多的錯誤的東西,我不知道從哪裏開始......除了它不是解決OP的問題(但有趣的是,他仍然接受它,很好笑)。 – 2011-03-02 08:16:44
一個有趣的網站..但它沒有提到任何地址或城市驗證。我也不同意一些驗證器,即電子郵件和密碼。密碼只是語義上的:它應該是無限的長度並且允許任何特殊字符。電子郵件正則表達式會丟棄大量有效的電子郵件字符,並且不會將其正則表達式顯示爲不區分大小寫! – 2011-03-02 08:24:41
對於不太熟悉Regexp的人來說,這是一個很好的起點。不管使用的方式如何,它都會讓OP很好地理解事件在正則表達式中的工作方式。 – Hussein 2011-03-02 08:33:48
Yogee,我會非常謹慎地使用正則表達式驗證地址。我實際上在SmartyStreets工作,其中我們的專長是地址驗證,並且根據經驗我知道正則表達式根本不夠用除非您想阻止用戶使用不符合上述正則表達式的地址百分比,仍然有效,或者如果您想接受仍然適合正則表達式的錯誤信息。
換句話說,我很快就學會了正則表達式並不是真正驗證的全面的,功能性的替代方案。我可以建議你看看一個易於使用的API,爲你做到這一點嗎?含義:某人(由政府機構認證)已經爲您完成了所有困難的事情。驗證地址時需要考慮很多因素......很多。
所以當然我會推薦我一直在使用的服務,LiveAddress(這是免費的,超級簡單的Javascript) - 如果您還有其他問題,我會很樂意親自幫助您。
你不能,也不應該。你永遠不會寫足夠通用的東西來處理所有情況。接受用戶輸入的內容,只要至少有兩個單詞。你也不應該拒絕一個地址,因爲它有前導空格或尾隨空格。這對用戶來說非常煩人。只是修剪它。 – meagar 2011-03-02 05:13:13
閱讀一些教程... – diEcho 2011-03-02 05:13:39
我得到了這個...但它不工作.. [A-ZA-Z0-9](?[A-Za-z0-9 \ -//])* – yogee 2011-03-02 05:21:07