2016-06-09 77 views
1

我使用這個正則表達式,但我有問題在Asp驗證可以有人幫助嗎?問題與正則表達式爲加拿大郵政編碼

^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ][ -]?\d[ABCEGHJKLMNPRSTVWXYZ]\d$/i 

,嘗試匹配, X#X#X#, X#X-#X#, X#X#X#

<Label For="PostalCode" Text="*Postal Code:" /><br> 
      <TextBox ID="PostalCode" class="txt postal postalError" DataField="PostalCode" Placeholder="A1A 1A1" DataType="String" /> <br/>  
      <Validate Target="PostalCode" CssClass="NormalRed xmp-validation clearfix" Type="required" text="* Postal Code is required." Message=""></Validate> 
      <Validate Target="PostalCode" CssClass="NormalRed xmp-validation clearfix" Type="regex" Text="* Postal Code must be formatted as follows: A1A 1A1" Message="" ValidationExpression="^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ][ -]?\d[ABCEGHJKLMNPRSTVWXYZ]\d$/i"></Validate> 
+0

它是什麼,你實際使用,這看起來像它可能是ASP.Net不是傳統的ASP *(這是你標記爲問題)*? – Lankymart

回答

0

這是我的解決方案,因爲上面的解決方案沒有考慮到你不能包含字母D,F,I,O,Q或U,並且不能以W或Z開頭。我還刪除了/我在最後。我也允許使用小寫字母。

[abceghjklmnprstvxyABCEGHJKLMNPRSTVXY]\d[abceghjklmnprstvxyABCEGHJKLMNPRSTVWXYZ][ -]?\d[abceghjklmnprstvxyABCEGHJKLMNPRSTVWXYZ]\d$ 
+0

將低位和大寫都放在同一字符中class:'[abceghjklmnprstvxyABCEGHJKLMNPRSTVXY]'或使用區分大小寫的標誌:'^(?i)[abc ...] ...' – Toto

+0

很酷謝謝你會這樣做! – BrentDude

0

您可以使用:

^[ABCEGHJ-NPRSTV-Z]\d[ABCEGHJ-NPRSTV-Z][ -]?\d[ABCEGHJ-NPRSTV-Z]\d$ 

live demo

+0

不考慮你不能包含字母D,F,I,O,Q或U,並且不能以W或Z開頭。 – BrentDude

+0

@BrentDude請參閱編輯:) –

0

在你的表情^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ][ -]?\d[ABCEGHJKLMNPRSTVWXYZ]\d$/i你hav在最後的e $/i

$意味着匹配字符串的末尾,但與/i它看起來像你試圖捕獲額外的字符。這是一個不可能的情況。字符串結尾後不能有更多字符。

相關問題