我有一個信用卡號碼,我需要檢查它是否有數字從0到9,還有任何破折號。c#正則表達式0-9和破折號
我有以下幾點:
Match match = Regex.Match(CardNumber, "[0-9-]");
if (match.Success)
{
}
它的工作原理,但想知道如果我錯過了什麼,可能無法使其發揮作用。
感謝
我有一個信用卡號碼,我需要檢查它是否有數字從0到9,還有任何破折號。c#正則表達式0-9和破折號
我有以下幾點:
Match match = Regex.Match(CardNumber, "[0-9-]");
if (match.Success)
{
}
它的工作原理,但想知道如果我錯過了什麼,可能無法使其發揮作用。
感謝
現在,只檢查是否至少有一個數字或破折號串CardNumber
裏面,所以它的字符串"hello0!"
返回True
。
如果你想驗證字符串,所以它只有由數字和破折號,則需要使用
Match match = Regex.Match(CardNumber, @"^[0-9-]*$");
由於小記什麼@Tim寫道,他的正則表達式匹配-12--34-
。可能你想要的是:
^([0-9]+-)*[0-9]+$
這將需要至少一個數字。如果你想空字符串匹配,使用(一個或多個數字0以上的「團體」加一個-
和數字的最後「集團」)
^([0-9]+-)*[0-9]*$
您應詳細說明一點上也許你的要求。這個問題現在非常模糊...... – 2012-03-08 15:35:00