2014-07-14 59 views
-1

HTLM5模式我試圖讓巴基斯坦電話號碼格式HTML5的模式是如下:爲PAK電話號碼格式

03xx-xxxxxxx 

x代表一個數字。 Uptil我現在已經開發了這個正則表達式:

/03[0-9]{2}-[0-9]{7}/ 

什麼我想現在是確保連字符之後的下一個7個位數:

  1. 是不一樣的號碼,如:1111111
  2. 是不以連續的方式,如:1234567
  3. 不是像相反的方式:7654321

我不知道如何把這些檢查在正則表達式。我怎樣才能做到這一點?

+0

你的問題說,你想爲HTML5;但你已經使用了javascript標籤... – hjpotter92

+0

「讓我們使用正則表達式」並不是第一個想到的東西。 – usr2564301

+0

當你說「不需要」時,你的意思是「不是」嗎? – AndrewPolland

回答

1

這裏是HTML5模式巴基斯坦的手機號碼

<input type="text" pattern="03[0-9]{2}-(?!1234567)(?!1111111)(?!7654321)[0-9]{7}" name="mobile_number" placeholder="Mobile Number" required> 
1

我對正則表達式並不擅長,但是我無論如何也想不出第二種和第三種情況,而不會以連續的方式禁止每個數字組合。如果你不介意真正醜陋的正則表達式,那麼這將解決所有三條規則。

03[0-9]{2}-(?!)(?!1234567)(?!2345678)(?!3456789)(?!4567890)(?!0987654)(?!9876543)(?!8765432)(?!7654321)(?!)([0-9])(?!\1{6})[0-9]{6} 

測試here

現在,如果你可以找到另一種方式來測試第二個條件,那麼正則表達式就簡單多了。

03[0-9]{2}-([0-9])(?!\1{6})[0-9]{6} 

測試here