2012-02-06 13 views
0

我的情況像這樣的驗證號碼:如何禁用與正則表達式驗證驗證無法鍵入0 0之後

000... 

這不允許的,因爲0已經在第一輸入完畢。

那麼如何在0之後先禁用輸入的0,但是對於這個01000等等沒關係。

+0

什麼'00100'?這是允許的嗎? – 2012-02-06 09:27:54

+0

actualy它是驗證電話號碼區域不是真正的數字。在我的國家電話號碼區居民通常像「021」或「0632」或「020」。我希望你明白謝謝。 – 2012-02-06 09:39:02

+0

00100這是不允許的它必須0100 – 2012-02-06 11:54:44

回答

4

所以,你要允許一個前導零,但不是更多?

^(?!00)\d+$ 

匹配任何不以00開頭的整數。它確實允許一個0(但它也允許一個不包含任何0的數字)。

如果你想允許任意數量的除了00000000等,使用

^(?!0+$)\d+$ 

如果你想要求只有一個0在啓動(這是有道理的,電話區號中許多地方),使用

^0(?!0)\d+$ 
+0

它的工作..但我需要用戶不能輸入0在第二,所以它不顯示0後第一。謝謝 – 2012-02-06 12:18:53

0
^0[1-9][0-9]*$ 

這使得數字這

  1. 必須以「0」
  2. 必須含有排除其他數字開頭「0」
  3. 只包含1日以後的數字和第二

此外,如果要修剪的電話號碼的前綴(如在意大利它們從2到4位不同,刪除最後一個*{0-2}替換(這部作品在java的肯定,我不知道,如果它仍然在其他格式有效,但也會有類似的東西當然)

^0[1-9][0-9]{0-2}$