4

I am doing validation for 10 digit Indian phone numbers (coding below). I am accepting digits only. What I can't seem to figure out is how to throw an error so that if the number entered begins with text or special characters and also not allow more than 12 Digits. Or either trunacte numbers to 12 digits if user enters more than 12 digits.

<asp:RegularExpressionValidator ID="phoneregularExpression" runat="server" ErrorMessage="MoreThan10" EnableClientScript="false"
ControlToValidate="txtphone" Display="Static" Text="Please enter atleast 10 digits" ValidationExpression="^([0-9\(\)\/\+ \-]*)$"></asp:RegularExpressionValidator>

Thanks In Advance.

4

4 回答 4

6

此正则表达式将确保有 10 个,但允许不超过 12 个:

^([0-9]{10,12})$

这是一个正则表达式 101来证明它。

这将允许 10 或 12位,而 11 位数字将失败。

^([0-9]{10}|[0-9]{12})$

这是一个正则表达式 101来证明它。

这将允许 1 到 12 位数字:

^([0-9]{1,12})$

现在,您已EnableClientScript在此处设置为 false。这意味着不会有任何 JavaScript 在客户端验证它。但是,尝试检查验证器是否this.Validate()为.IsValid

于 2013-08-16T12:20:31.667 回答
1

尝试这个

1) 最大限制 = 12

ValidationExpression="\d{0,12}"

2)要求长度= 12但不限制

ValidationExpression="\d{12}"
于 2013-08-16T12:34:49.220 回答
1

使用这个我将最大长度设置为 12 到 TextBox 和 Validator 并在正则表达式上验证它并尝试了它

<asp:TextBox runat="server" ID="txt" MaxLength="12"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
        ErrorMessage="Error" ForeColor="Red" ControlToValidate="txt"
        ValidationExpression="^[0-9]{12}$"></asp:RegularExpressionValidator>
于 2013-08-16T12:43:03.297 回答
0

试试这个正则表达式

^[0-9]{12}$
于 2013-08-16T12:18:53.437 回答