2013-02-26 63 views
0

我有一個電話號碼,檢查正則表達式:如何讓這兩個字符串匹配特定的表達和不包含另一個字符串

/^\+\d{1,3}[\d ]*$/(它匹配+7 5165761074)。

我需要這個正則表達式也不允許00000001234567裏面。

+0

你會更好地做兩個單獨的檢查與尋找'indexOf('000000')'和'1234567' – 2013-02-26 05:44:47

+0

我使用ExtJS和它是自動ckeck輸入字段值與'regex'屬性。使用它更加舒服,而不是將監聽器放在字段'change'事件上。 – 2013-02-26 06:00:56

+0

您需要在檢查之前對輸入進行標準化(刪除空格),或者限制用戶使用某些剛性結構(您可以提供幾個框供用戶填寫:國家代碼,區號,號碼)。 – nhahtdh 2013-02-26 07:00:34

回答

3

你可以使用負前瞻

/^\+(?!0000000)(?!1234567)\d{1,3}[\d ]*$/ 

http://www.javascriptkit.com/javatutors/redev2.shtml

實際表達的向前看符號可能會因稍有不同,究竟你的意思「不允許內部」。

+0

'+6 0000000'匹配和'+6 1234567'匹配。 – 2013-02-26 06:47:09

相關問題