2011-03-22 153 views
1

我需要驗證信用卡(虛擬 - 我沒有真正進行任何交易)。條件是信用卡驗證的正則表達式

  1. 它必須在10到16位之間。

  2. 開始以數字3或4

  3. 只有數字被允許我的意思是[0-9]。

我試過了,我的是[3-4] [0-9] {10-16}。但它似乎不會產生結果。

謝謝你在期待

+0

你到底在想什麼? – Mehrdad 2011-03-22 20:29:31

+4

@ user653622:不,我的意思是,你應該實際提出一個問題(帶有問號);它使帖子更清晰。 – Mehrdad 2011-03-22 20:37:35

回答

12

應該是:

^[34][0-9]{9,15}$ 
  • 開始和結束錨是重要的,或正則表達式可能匹配只能從整個字符串的一部分(例如16位了的20)
  • [34]其中的一個字符。 [3-4]是一樣的。
  • {9,15}是正確的語法。請注意,[34]是第一位數字,所以您需要減去一位。

一些例子:http://www.rubular.com/r/q61cPPYW7E

+0

@Kobi它就像一個魅力。非常感謝 !! – 2011-03-22 20:39:47

+0

...和'[0-9]'與'\ d'相同。 ;-) – Tomalak 2011-03-22 20:40:40

+0

@Tomalak - 不在.Net或其他支持Unicode的風格。我正在安全地玩':)' – Kobi 2011-03-22 20:43:08