如何使用%设置仅输入数字的按键



我不知道在javascript上设置按键只输入数字和% 示例 100% 或 50%

-----------------------------

折扣 : | 50% | -----------------------------

有点难以理解,但我想我解密了你的请求:D

document.getElementById('myInput').addEventListener( 'input', function() {
lastValid = this.dataset.lastValid || '';

let start = this.selectionStart + '';
let end = this.selectionEnd + '';

console.log( this.value );
console.log( this.value.match(/^[0-9]*.?[0-9]*%?$/) );

if( this.value.match(/^[0-9]*.?[0-9]*%?$/) !== null ) {
this.dataset.lastValid = this.value;
} else {
this.value = lastValid;
start = end -= 1;
}
this.selectionStart = start;
this.selectionEnd = end;
} );
<input type="text" id="myInput">

编辑更新了浮点数百分比

EDIT2已修复:现在可以为空

编辑3已修复:last_valid用法

最新更新