2014-05-20 56 views
-1

我正在開發一個自定義類來包含正則表達式。原因是我有很多客戶端表達式的問題,並不總是在回發中驗證。服務器端字符串驗證問題

我正在寫的這個類有一個輸入的文本,並將根據特定的測試返回true。

我想做一個表達式來檢查該字符串是否只包含數字,如果是,則返回true,否則如果它包含其他任何東西,則返回false。

我輸入的正則表達式會拋出一個錯誤:無法識別的轉義序列,將無法運行。

這是方法:

static public bool IsOnlyNumeric(string InputText) 
{ 
    //Returns true if only numeric 
    bool val = System.Text.RegularExpressions.Regex.IsMatch(InputText, "[0-9]*\.?[0-9]*"); 

    return val; 

} 

回答

2

你需要逃避反斜槓\

"[0-9]*\\.?[0-9]*" 
//  ^^ double backslash 

這是因爲您使用反斜槓來轉義其他字符。爲了逃避它,你需要用另一個前綴。

另一種方法是通過用@前綴字符串使用逐字字符串:

@"[0-9]*\.?[0-9]*" 
-1

要處理的數字只有數據不帶小數點的變化的代碼如下:

static public bool IsOnlyNumeric(string InputText) 
{ 
    //Returns true if only numeric 
    bool val = System.Text.RegularExpressions.Regex.IsMatch(InputText, "^[1-9]\d*$"); 

    return val; 

} 
+0

我有同樣的錯誤,並突出顯示在你表達的「d」字符。 – connersz

0

您可以使用下面menioned代碼

System.Text.RegularExpressions.Regex.IsMatch(inputtext, "^[0-9]*$")