[英]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
匹配此正則表達式中0
到9
數字,因此更喜歡[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.