簡體   English   中英

正則表達式驗證器,用於10位數字,僅限數字c#asp.net

[英]Regular expression validator for 10 digit and numbers only c# asp.net

我想要一個只有10位數的正則表達式驗證器

我試過這個,但它只是數字而不是數字

<asp:RegularExpressionValidator ID="rvDigits" runat="server" ControlToValidate="txtMobId"
                                ErrorMessage="Enter numbers only till 10 digit" ValidationGroup="valGroup" ForeColor="Red"
                                ValidationExpression="\d+" />

您需要使用限制量詞 {min,max}

如果允許空輸入,請使用{0,10}匹配0到10位數:

ValidationExpression="^[0-9]{0,10}$"

否則,使用{1,10}允許1到10位數字:

ValidationExpression="^[0-9]{1,10}$"

或者恰好匹配10位數的字符串省略min, part:

ValidationExpression="^[0-9]{10}$"

另請注意,服務器端驗證使用.NET正則表達式語法,並且\\d匹配此正則表達式中09數字,因此更喜歡[0-9] \\d效率低於[0-9]

此外,似乎你可以省略^$ (參見ASP.NET文章中的MSDN 正則表達式 ):

您不需要指定字符串的開頭和字符串匹配字符的結尾( ^$ ) - 它們是假定的。 如果你添加它們,它不會傷害(或改變)任何東西 - 它根本就沒有必要。

為清晰起見,大多數人更喜歡將它們明確地保留在模式中。

測試這個答案:

<asp:RegularExpressionValidator ID="rvDigits" runat="server" ControlToValidate="txtMobId" ErrorMessage="Enter numbers only till 10 digit" ValidationGroup="valGroup" ForeColor="Red" ValidationExpression="[0-9]{10}" />

暫無
暫無

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

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