如何用onkeyup来控制一个input只能输入大于0的正整数?
首先纠正点东西
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
也就是说题主在使用空字符串去替换符合[0-9]的数字,
其次,一般^都是这样写的/^[0-9]/。
如果是按照题意去匹配开头不为零的正整数
/^[1-9]{1}[0-9]*$/ //这样的正则就可以满足,但如果是用replace方法的话去写的话,就要逆向去写了。
建议使用match方法
<!DOCTYPE html><html><body><input type="number" id="myInput"><script> const myInput = document.getElementById('myInput') myInput.onkeyup=function () { this.value=this.value.match(/^[1-9]{1}[0-9]*$/) }</script></body>
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有