2012-03-08 52 views
0

我有一個信用卡號碼,我需要檢查它是否有數字從0到9,還有任何破折號。c#正則表達式0-9和破折號

我有以下幾點:

Match match = Regex.Match(CardNumber, "[0-9-]"); 

    if (match.Success) 

    { 

    } 

它的工作原理,但想知道如果我錯過了什麼,可能無法使其發揮作用。

感謝

+0

您應詳細說明一點上也許你的要求。這個問題現在非常模糊...... – 2012-03-08 15:35:00

回答

1

現在,只檢查是否至少有一個數字或破折號串CardNumber裏面,所以它的字符串"hello0!"返回True

如果你想驗證字符串,所以它只有數字和破折號,則需要使用

Match match = Regex.Match(CardNumber, @"^[0-9-]*$"); 
1

由於小記什麼@Tim寫道,他的正則表達式匹配-12--34-。可能你想要的是:

^([0-9]+-)*[0-9]+$ 

這將需要至少一個數字。如果你想空字符串匹配,使用(一個或多個數字0以上的「團體」加一個-和數字的最後「集團」)

^([0-9]+-)*[0-9]*$ 

相關問題