4

10 桁のインドの電話番号の検証を行っています (以下のコーディング)。数字のみ受け付けています。入力された数字がテキストまたは特殊文字で始まり、12桁を超えないようにするために、エラーをスローする方法がわかりません。または、ユーザーが 12 桁を超える数字を入力した場合は、数字を 12 桁に切り捨てます。

<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>

前もって感謝します。

4

4 に答える 4

6

この Regex は 10 であることを確認しますが、12 を超えないようにします。

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

これを証明するためのRegex 101を次に示します。

これは 10 または 12のみを許可し、11 桁のものは失敗します。

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

これを証明するためのRegex 101を次に示します。

これは 1 ~ 12 桁を許可します。

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

EnableClientScriptここでfalse に設定しました。つまり、クライアント側で検証する JavaScript はありません。ただし、 validator かどうかを確認する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

これを使用して、最大長をTextBoxとValidatorに12に設定し、正規表現で検証して試しました

<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 に答える