[英]Problems validating Regex.IsMatch
我對regx.Ismatch
有問題。 我需要驗證以下格式的字符串, @"[O]-[0-9]{8}-[0-9]{5}-[0-9]-[0-9]-[0-9]"
,我正在使用以下代碼:
if (!Regex.IsMatch(vm.CadastralNumber, @"[O]-[0-9]{8}-[0-9]{5}-[0-9]-[0-9]-[0-9]"))
ModelState.AddModelError("CadastralNumber", "Prefix should be O, or the format is not correct"); .
但是我遇到了一個問題,在該格式之后,我需要用戶不要再寫更多的數字,例如-[0-9]-[0-9]-[0-9]-[0-9]
。 它永遠不會停止,我需要用戶只寫我首先給出的格式,不要再寫太多了。 有什么幫助嗎?
將其寫為@"^[O]-[0-9]{8}-[0-9]{5}-[0-9]-[0-9]-[0-9]$"
regex匹配字符串的開頭( ^
)和結尾( $
)。
您必須使用錨點^
(字符串的開頭)和$
(字符串的結尾)。 您還可以使用更清潔的正則表達式:
@"^O-\d{8}-\d{5}(?:-\d){3}$"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.