我有一個系統,我創建版本,我必須通過文本框發佈版本。它存儲在我的數據庫中的字段是一個nvarchar,因此是一個字符串。如何驗證字符串條目以確保其格式爲「Number.Number.Number」(1.2.3)
我想確保這個條目是格式化的,所以它總是一個數字然後一個句號然後一個數字然後一個句號然後再一個數字(1.2.3)。任何人都可以幫助我確定這是按鈕單擊提交的情況嗎?
非常感謝提前。
我有一個系統,我創建版本,我必須通過文本框發佈版本。它存儲在我的數據庫中的字段是一個nvarchar,因此是一個字符串。如何驗證字符串條目以確保其格式爲「Number.Number.Number」(1.2.3)
我想確保這個條目是格式化的,所以它總是一個數字然後一個句號然後一個數字然後一個句號然後再一個數字(1.2.3)。任何人都可以幫助我確定這是按鈕單擊提交的情況嗎?
非常感謝提前。
通過使用RegEx,您可以驗證您的輸入。我用數字假定你的意思是一個數字:
string text = "1.2.3";
bool isValid = Regex.IsMatch(text, "^\\d\\.\\d\\.\\d$");
如果您想驗證一個或多個數字,你必須添加+
string text = "12.23.34";
bool isValid = Regex.IsMatch(text, "^\\d+\\.\\d+\\.\\d+$");
使用正則表達式:
^\d+\.\d+\.\d+$
的^意思是開始,$表示結束, \ d +表示「在該行中有多個可用的數字」,並且。意思是「。」但必須以領先的\因爲而逃脫。在正則表達式中有特殊的含義。
更長的路,沒有使用正則表達式(我有一個正則表達式的恨...只是品味的問題,我知道我應該學習他們,並在適當的時候使用它們...)
bool IsInputValid(string input)
{
string[] values = input.Split('.');
if (values.Length != 3)
return false;
int tmp = 0;
foreach (string s in values)
if (!int.TryParse(s, out tmp))
return false;
return true;
}
對於這樣的像\ d \。\ d \。\ d這樣的正則表達式可能是一個可行的解決方案。 –
'^ [0-9] +(\。[0-9] +){2} $'模式(正則表達式) –
http://stackoverflow.com/questions/24683744/regex-test-for-number- number-number – apomene