onkeyup是什么事件 如何用onkeyup來控制一個(gè)input只能輸入大于0的正整數(shù)?
如何用onkeyup來控制一個(gè)input只能輸入大于0的正整數(shù)?replace()方法用于將字符串中的某些字符替換為其他字符,或替換與正則表達(dá)式匹配的子字符串。也就是說,主要的問題是使用空字符串替換[
如何用onkeyup來控制一個(gè)input只能輸入大于0的正整數(shù)?
replace()方法用于將字符串中的某些字符替換為其他字符,或替換與正則表達(dá)式匹配的子字符串。
也就是說,主要的問題是使用空字符串替換[0-9
]行中的數(shù)字。其次,它通常是這樣寫的/^[0-9]/。
如果我們根據(jù)問題的意義匹配以非零開頭的正整數(shù)
/^[1-9]{1}[0-9]*$///這樣的規(guī)律性可以得到滿足,但是如果我們用replace方法來寫它,我們需要反寫。
建議使用匹配方法
<!DOCTYPE HTML><html><body><input type=“number”id=“myinput”><script> const myinput=文檔.getElementById(“myInput”)myInput.onkeyup=函數(shù)() { this.value=此. value.match匹配(/^[1-9]{1}[0-9]*$/)}</script></body>
過去,我們只使用onkeyup、onkeydown和onchange來實(shí)現(xiàn)輸入監(jiān)控,但這些都有一些不好的用戶體驗(yàn)。例如,onchange事件僅在鍵盤或鼠標(biāo)操作更改對(duì)象屬性并失去焦點(diǎn)時(shí)觸發(fā),腳本觸發(fā)器無效;而onkeydown和onkeyup在處理復(fù)制、粘貼、拖放和長(zhǎng)鍵(按住鍵盤)等細(xì)節(jié)方面并不完美。
onpropertychange屬性在某些情況下可以解決上述問題,無論焦點(diǎn)是否丟失。無論是JS操作還是鍵盤鼠標(biāo)手動(dòng)操作,只要HTML元素屬性發(fā)生變化,就可以立即捕獲。不幸的是,onpropertychange是ie獨(dú)有的,在其他瀏覽器中,如果你想達(dá)到實(shí)時(shí)監(jiān)控的要求,你需要在HTML5中使用標(biāo)準(zhǔn)事件oninput,但是IE9以下的瀏覽器不支持oninput。如果你想與IE9以下的瀏覽器兼容,你需要同時(shí)使用oninput和onpropertychange。