我有一個文本框(價格),我必須驗證它只是數字數據。此外,我不能允許零前數字(如01)。所以我使用正則表達式替換方法。對於更換信這是使用:jQuery的替換功能在IE中奇怪地工作
$("#txtPrice").keyup(function(){
var text=$(this).val();
$(this).val(text.replace(/[^\d\s\.]/,""));
});
更換前面的零,我用
$("#txtPrice").keyup(function(){
var text=$(this).val();
$(this).val(text.replace(/^0+/, ''));
});
它適用於Firefox的罰款,但在IE它奇怪的行爲。
如果我在數字前添加一個新數字,它會將新數字添加到數字的末尾。例如,如果我將「56」編輯爲「156」,那麼數字1將添加在形成「561」的末尾。如果任何數字試圖放在前面,它實際上被添加到文本字段的末尾。如何解決這個問題?
這很可能是另一行的問題,而不是正則表達式替換。當你發出「警報(文本)」時會發生什麼;「在這兩條線之間? – pms1969 2012-04-17 13:30:12
我相信,只有一個綁定到給定實例的綁定函數纔是理想的選擇。雖然可能不是獲得所需行爲的解決方案,但它會弄清楚發生了什麼變得更容易。 – veeTrain 2012-04-17 13:40:43
嗨iijb;如果我的回答對你來說是一個可行的解決方案,那麼一定要接受它作爲答案,或者讓我們知道爲什麼它不適合你的情況。謝謝 – veeTrain 2012-04-17 16:20:21