2014-12-05 100 views

回答

0

你可以這樣說:

<input type="text" id="postCode" placeholder="Enter postcode"> 
<span id="result"></span> 

var pattern = /[ABCEFGHJKLMNPRSTVXY][0-9][ABCEFGHJKLMNPRSTVWXYZ][0-9][ABCEFGHJKLMNPRSTVWXYZ][0-9]/, 
$result = $("#result"); 

$('#postCode').keyup(function(){ 
    var val = this.value 
    if(!val.match(pattern)){ 
    $result.text("invalid"); 
    } else { 
    $result.text("valid");  
    } 
}); 

這裏有一個demo

+0

我只會添加\ s *?在前3個字符和後3個字符之間,以說明在兩者之間寫入空間的常見用法。像在北極的郵政編碼:H0H 0H0 – chapelo 2014-12-06 01:10:13

+0

是的,不知道正則表達式。不過,我相信它可以做一些工作。 – 2014-12-06 06:13:31

+0

但如何限制與正則表達式不匹配的文本框中的輸入? – 2014-12-08 07:34:27

0

pattern屬性是廣泛現在支持。所以,你可以將它添加到<input>

<input pattern="^[A-Za-z]\d[A-Za-z][ -]?\d[A-Za-z]\d$" /> 
+0

爵士它不工作.. http://jsfiddle.net/ f0rhrosu/ – 2014-12-05 12:27:15