質問

を使用してい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, し、検証します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top