猿问

如何禁止input输入不正确的内容

问题:
input框中加入输入规则,如

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

但是这种用replace的效果不好,因为是等到用户输入后再进行判断,能否实现当用户输入当时候,如果输入的不对,就不让用户输入了,就不会有之前闪烁的感觉


FFIVE
浏览 758回答 3
3回答

POPMUISE

test.onkeypress = function (e) {     const newString = this.value + String.fromCharCode(e.keyCode);    function testSomething(newString, keyCode) {        // 在这里对输入的字符或者输入框中的内容进行判断         return keyCode > 100;     }    if (testSomething(newString, e.keyCode)) {        return true;     }    return false; }

LEATH

你的思路有一点问题,你怎么知道用户输入会是什么,如果不等用户输入了,拿什么来判断?所以必须是有用户输入了,结果不符合要求进行处理(比如这里删除掉2个以上的点)。后面是保留2位小数。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答