2014-07-11 65 views
0

我有一個關於限制在某些輸入字段中輸入的值的問題。我想輸入這個:JavaScript中的正則表達式代碼限制輸入字段

9digits-whatever,例如101010101-Teststring。

我想出了這個正則表達式作爲一個解決方案,但它似乎並不正確:

^\d{9}\-[a-zA-Z0-9_]*$ 

任何想法在這一個?

謝謝。

+1

只要使用'/^\ d {9} - + $ /' – anubhava

+0

記住'/ [A-ZA-Z0-9 _] /'正是'/ \ W/' – Borodin

回答

2

下面的正則表達式將匹配- follwed 9位和任意數目的字符,

^\d{9}-.*$ 

如果你想最少一個字符,隨後-,然後嘗試下面的正則表達式。

^\d{9}-.+$ 

說明:

  • ^斷言,我們是在該行的開頭。
  • \d{9}正好9位數字。
  • \-文字-符號。
  • .*匹配任何字符零次或多次。
  • $行結束。
+0

謝謝你,Avinash Raj,做到了! – newoverstack

+0

@newoverstack很高興出來:-) –

+0

是否有任何需要轉義連字符? – Braj

1
  • 有沒有必要轉義連字符-
  • 使用\w包括[a-zA-Z0-9_]

嘗試下面的正則表達式,如果只有[a-zA-Z0-9_]後9位數字和連字符。

^\d{9}-\w*$ 

Online demo

+0

在這種情況下,OP的'$'匹配字符串的末尾,而不是文字''$'' – RevanProdigalKnight

+0

@RevanProdigalKnight對不起,該部分被刪除,但$最終作品,但不作爲負字符集的一部分。 – Braj

相關問題