0
我需要防止文本框輸入字母和任何其他特殊字符,除了點字符。這裏是我的功能:Javascript:return true not working
function key_block(current_element,event){
var str = current_element.val();
//alertify.log(str);
var regex = new RegExp("^[0-9.]+$");
var key = String.fromCharCode(event.charCode ? event.which : event.charCode);
if (regex.test(str)) {
//event.preventDefault();
return true;
} else {
current_element.val('');
return false;
}
}
if(key_block($(this),e)){
//allow typing
}
該代碼在Chrome瀏覽器中正常工作。但在Firefox中,這是行不通的。我在firefox中獲得regex.test(str)的值「true」。但我不知道爲什麼這不允許我鍵入代碼。任何人都可以在此找到真正的問題嗎
提供一個小提琴請 – ProllyGeek 2014-10-27 16:31:40
無關,但爲什麼不使用'/^[0-9.]+$/.test(str )'? – tenub 2014-10-27 16:47:39
如果你問關於正則表達式,它在Chrome和Firefox中的工作原理是一樣的。我剛剛在遊戲機中進行了測試。 – dmpost 2014-10-27 16:47:53