簡體   English   中英

驗證Regex.IsMatch時出現問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM