質問
を使用していxValを確形asp.net MVC1.0
いなぜ私た正規表現にな検証します。
- とまりん ない 検証空値
- とまりん ない 検証の値"1", "12", "123", または"1234"
- での検証の値 "12345"
- での検証の価値"12345"
- での検証の価値12345-"
- での検証の価値12345-1"
- での検証の価値12345-12"...など
のための郵便番期待していつのパターン:
12345
または 12345 -1234
この正規表現した:
(\d{5})((( -)(\d{4}))?)
(\d{5})|(\d{5} -\d{4})
ここでは私のメタデータのクラスxVal
[MetadataType(typeof(TIDProfileMetadata))]
public class TIDProfileStep
{
public class TIDProfileMetadata
{
[Required(ErrorMessage = " [Required] ")]
[RegularExpression(@"(\d{5})|(\d{5} -\d{4})", ErrorMessage = " Invalid Zip ")]
public string Zip { get; set; }
}
}
ここで私はaspxページ:
<% Html.BeginForm("Edit", "Profile", FormMethod.Post); %>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<h6>Zip:</h6>
</td>
<td>
<%= Html.TextBox("Profile.Zip")%>
</td>
</tr>
<tr>
<td>
<input type="submit"/>
</td>
</tr>
</table>
<% Html.EndForm(); %>
<% Html.Telerik().ScriptRegistrar()
.OnDocumentReady(() =>
{ %>
<%= Html.ClientSideValidation<TIDProfileStep>("Profile").SuppressScriptTags() %>
<% }); %>
解決 2
私たちが使っていたマスクをプラグインのための私入力します。マスクのプラグインでき こちらの.
でのテキストボックスを組み合わせたご記入の5桁の数字でそのタブの次のフィールドでも検証してfalseによるマスクのプラグインしています。マスクのプラグインをアンダースコア文字は空の可能性....したがって、たとえば、:
_____ -____
はマスクすることをは空欄です。れば記入し最初の5桁い:
12345 -____
しいタブで、次の -____
を除去し、その入力フィールドが必要再検証済みのonblur.
そこで再検証の入力フィールドにブレ在す。
$('#Zip').blur(function() {
$(this).validate();
});
その結果が、先ほど任天堂さんのregex ^\d{5}( -\d{4})?$
他のヒント
が欠落しているアンカー:
^\d{5}( -\d{4})?$
これらのすることができますが部分的マッチングです。の正規表現に一致す文字列 12345 -1
による \d{5}
: 12345
-1
, し、検証します。
所属していません StackOverflow