1
我想知道這裏似乎是什麼問題。正則表達式只能作爲事件的按鍵
$("#city_field").bind({
keypress: function(event){
var regex = /^[a-zA-ZäöüÄÖÜ]/;
if (regex.test($("#city_field").val())==true) {
$('.r_validation').html('').css('background-color', '');
} else {
$('.validation').html("TEST").css('background-color', 'red');
}
}
});
每當我輸入字母它是有效的,當我輸入數字,然後會出現紅色的確認通知。一切都很好,直到我在信件後面輸入數字。下面列出的是無效的,但在我當前的腳本它被視爲有效:
- foo1212
- 富,
- 富, [用逗號後的空間]
我真正想要驗證的是隻接受字母和短劃線( - ),除此之外別無其他。
謝謝。
編輯
爲了記錄在案,@Adam Rackis的最後意見解決這個問題,我結束了這個工作的代碼。
$(function(){
$("#city_field").bind("keyup",
function(event) {
var regex = /^[a-zA-ZäöüÄÖÜ]+$/;
if (regex.test($("#city_field").val())==true) {
$('.validation').html('').css('background-color', '');
} else {
$('.validation').html("TEST").css('background-color', 'red');
}
});
});
感謝您的快速回復,但是當我使用這個字符串不會驗證每當我只輸入一個字符。驗證似乎只在第二個字符的輸入時被解僱。 – 2012-01-13 05:42:07
一個字符適合我http://jsfiddle.net/653Lu/1/ – 2012-01-13 05:44:55
對不起,我甚至在刷新瀏覽器之前評論過。沒有注意到你編輯的答案。你現在發佈的第二個正則表達式現在適用於我的第一個評論問題,但是當我按照以下順序輸入時:輸入1(無效),[退格]輸入一個(仍然無效,但現在應該更改爲有效)。這是爲什麼? – 2012-01-13 05:46:38