onkeyup是什么事件 如何用onkeyup来控制一个input只能输入大于0的正整数?
如何用onkeyup来控制一个input只能输入大于0的正整数?replace()方法用于将字符串中的某些字符替换为其他字符,或替换与正则表达式匹配的子字符串。也就是说,主要的问题是使用空字符串替换[
如何用onkeyup来控制一个input只能输入大于0的正整数?
replace()方法用于将字符串中的某些字符替换为其他字符,或替换与正则表达式匹配的子字符串。
也就是说,主要的问题是使用空字符串替换[0-9
]行中的数字。其次,它通常是这样写的/^[0-9]/。
如果我们根据问题的意义匹配以非零开头的正整数
/^[1-9]{1}[0-9]*$///这样的规律性可以得到满足,但是如果我们用replace方法来写它,我们需要反写。
建议使用匹配方法
<!DOCTYPE HTML><html><body><input type=“number”id=“myinput”><script> const myinput=文档.getElementById(“myInput”)myInput.onkeyup=函数() { this.value=此. value.match匹配(/^[1-9]{1}[0-9]*$/)}</script></body>
过去,我们只使用onkeyup、onkeydown和onchange来实现输入监控,但这些都有一些不好的用户体验。例如,onchange事件仅在键盘或鼠标操作更改对象属性并失去焦点时触发,脚本触发器无效;而onkeydown和onkeyup在处理复制、粘贴、拖放和长键(按住键盘)等细节方面并不完美。
onpropertychange属性在某些情况下可以解决上述问题,无论焦点是否丢失。无论是JS操作还是键盘鼠标手动操作,只要HTML元素属性发生变化,就可以立即捕获。不幸的是,onpropertychange是ie独有的,在其他浏览器中,如果你想达到实时监控的要求,你需要在HTML5中使用标准事件oninput,但是IE9以下的浏览器不支持oninput。如果你想与IE9以下的浏览器兼容,你需要同时使用oninput和onpropertychange。