我確定它很簡單,我只是沒有看到它。我一直在尋找例子,儘可能簡短,我似乎無法找到我的問題。Javascript問題:找到匹配的正則表達式問題
我希望驗證郵政編碼字段並使用加拿大郵政編碼格式。我找到了一個表達我希望用它看起來像下面這樣:
var validZIP={
"US":"^\d{5}([\-]?\d{4})?$",
"UK":"^(GIR|[A-Z]\d[A-Z\d]??|[A-Z]{2}\d[A-Z\d]??)[ ]??(\d[A-Z]{2})$",
"CA":"^([ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ])\ {0,1}(\d[ABCEGHJKLMNPRSTVWXYZ]\d)$"
}
請注意,在這種情況下,代表加拿大的CA
。
我onChange
函數調用下面的方法(平變化類checkValidPostal(this)
從輸入):
function checkValidPostal(input)
{
var re = new RegExp(validZIP["CA"]);
var value = input.value.toUpperCase();
if (value.match(re))
{
input.value = value;
return true;
}
input.value = "";
return false;
}
我已經檢查使用正則表達式行:
http://www.regular-expressions.info/javascriptexample.html,並在該網頁上的偉大工程,但對於某些原因,我無法讓它在我的工作!
請幫忙。
你這是在通過輸入? – 2013-03-20 18:12:47
你爲什麼使用'match'而不是'test'? – 2013-03-20 18:12:49
我傳遞的值如:m5m5m5或M2M2M2等等。我使用了一些console.log語句來驗證測試正在發生,並且值正在通過,但測試返回false。 – NEW2WEB 2013-03-20 18:17:09