鍍金池/ 問答/HTML/ 如何禁止input輸入不正確的內(nèi)容

如何禁止input輸入不正確的內(nèi)容

問題:
input框中加入輸入規(guī)則,如

        e.detail.value = e.detail.value.replace(/\.{2,}/g, ".")
        e.detail.value = e.detail.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')

但是這種用replace的效果不好,因為是等到用戶輸入后再進行判斷,能否實現(xiàn)當用戶輸入當時候,如果輸入的不對,就不讓用戶輸入了,就不會有之前閃爍的感覺

回答
編輯回答
離夢

你的思路有一點問題,你怎么知道用戶輸入會是什么,如果不等用戶輸入了,拿什么來判斷?
所以必須是有用戶輸入了,結(jié)果不符合要求進行處理(比如這里刪除掉2個以上的點)。
后面是保留2位小數(shù)。

2018年5月12日 15:46
編輯回答
尛曖昧

監(jiān)聽input事件不就可以實時判斷了嗎,題主監(jiān)聽什么事件

2017年1月10日 06:11
編輯回答
爆扎
test.onkeypress = function (e) {
    const newString = this.value + String.fromCharCode(e.keyCode);
    function testSomething(newString, keyCode) {
        // 在這里對輸入的字符或者輸入框中的內(nèi)容進行判斷
        return keyCode > 100;
    }
    if (testSomething(newString, e.keyCode)) {
        return true;
    }
    return false;
}
2017年4月23日 07:08