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,
の部分を省略します。
ValidationExpression="^[0-9]{10}$"
また、サーバー側の検証では.NET正規表現構文が使用され、\d
はこの正規表現フレーバーの0
から9
までの数字より多く一致するため、[0-9]
を優先することに注意してください。 \d
は[0-9]
より効率的ではありませんを参照してください。
その上、^
と$
を完全に省略できるようです( MSDNRegular Expressions in ASP.NETarticle を参照):
文字列の始まりと文字列の終わりに一致する文字(
^
および$
)を指定する必要はありません。これらは想定されています。 それらを追加しても、何も害を及ぼす(または変更する)ことはなく、単に不要です。
ほとんどの人は、明確にするために、パターン内でそれらを明示的に保つことを好みます。
この答えをテストしてください:
<asp:RegularExpressionValidator ID="rvDigits" runat="server" ControlToValidate="txtMobId" ErrorMessage="Enter numbers only till 10 digit" ValidationGroup="valGroup" ForeColor="Red" ValidationExpression="[0-9]{10}" />