簡體   English   中英

在C#中使用正則表達式限制小數位數和數字長度

[英]Limit the number of decimal and length of number with regex in c#

我一直在嘗試驗證將小數點限制為3個點並將數字(包括點)的長度限制為6個數的數字,但無法使其正確驗證。 到目前為止,這是我所擁有的:

^([0-9]([.][0-9]{1,3})?){1,6}$

如何更改上面的正則表達式以正確驗證? 謝謝。

您可以使用此基於前瞻的正則表達式來檢查長度:

^(?=[0-9.]{1,6}$)[0-9]+(?:\.[0-9]{1,3})?$

正則演示

對於總長度,我只需要檢查字符串長度即可:

if(s.Length <= 6 && Regex.IsMatch(s, @"^[0-9]+(\.[0-9]{1,3})?$")) {

}

因為表達式末尾的{1,6}表示它前面的術語的0到6個重復(在您的情況下是整數)。 它不限制字符串的長度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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