1.5で割り切れる数を除いた正規表現が必要です。これが可能なのかどうか分かりません。ASP.NET - 正規表現バリデータ
私はregexライブラリをチェックし、何も持っていません。誰にでもアイデアはありますか?
1.5で割り切れる数を除いた正規表現が必要です。これが可能なのかどうか分かりません。ASP.NET - 正規表現バリデータ
私はregexライブラリをチェックし、何も持っていません。誰にでもアイデアはありますか?
他の人が言ったように、正規表現は適切なツールではありません、それは次のようなのCustomValidatorを使用することをお勧めします:
<asp:CustomValidator ID="DivisibleByOnePointFiveValidator" runat="server" ErrorMessage="Must be divisible by 1.5!"
Display="Dynamic" ControlToValidate="MyTextBox" EnableClientScript="false"
OnServerValidate="DivisibleByOnePointFiveValidator_ServerValidate" >
</asp:CustomValidator>
protected void DivisibleByOnePointFiveValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
decimal inputValue;
if (!decimal.TryParse(args.Value, out inputValue))
{
args.IsValid = false;
return;
}
args.IsValid = inputValue % 1.5M == 0;
}
正規表現は文字列の検証であり、数字による検証ではありません(数字であるかどうかを示す以外に)。これにはカスタムバリデーターが必要です。
正規表現を使用して数値を検証することはお勧めできません。この目的のためだけに、小さなバリデータ関数を書く方が良いでしょう。
この正規表現では、数値/非数値を非常に簡単に検証することができます。[0-9]+
もちろん、これは多くの先行ゼロを許容し、小数点以下を考慮しません。 [0-9]+(\.(0|[0-9]+))?
のようにもっと洗練されたものにすることができます。そして、私たちは否定的な兆候、科学的記法、および他の表記形式にもさえ始めていません。許可された入力形式を指定すると、正規表現でもっと簡単に手助けすることができます。
展開するには... REは、入力が数であり、他のステップがすべきかどうかを検証する必要がありますそれが1.5で割り切れるかどうかを検証するので、2段階のプロセスになります。 – DerekH
@DerekH:あなたの質問を更新して、入力が特定の許容フォーマット(数字の小数点以下、先行ゼロ、科学記法など)内の数値文字列であることを検証したいと言ってもいいでしょう。 – FrustratedWithFormsDesigner
実際には私の質問ではなく、キースの答えを広げていた。私は指定すべきである! – DerekH