onkeyup是什么事件 如何用onkeyup來(lái)控制一個(gè)input只能輸入大于0的正整數(shù)?
如何用onkeyup來(lái)控制一個(gè)input只能輸入大于0的正整數(shù)?replace()方法用于將字符串中的某些字符替換為其他字符,或替換與正則表達(dá)式匹配的子字符串。也就是說(shuō),主要的問(wèn)題是使用空字符串替換[
如何用onkeyup來(lái)控制一個(gè)input只能輸入大于0的正整數(shù)?
replace()方法用于將字符串中的某些字符替換為其他字符,或替換與正則表達(dá)式匹配的子字符串。
也就是說(shuō),主要的問(wèn)題是使用空字符串替換[0-9
]行中的數(shù)字。其次,它通常是這樣寫(xiě)的/^[0-9]/。
如果我們根據(jù)問(wèn)題的意義匹配以非零開(kāi)頭的正整數(shù)
/^[1-9]{1}[0-9]*$///這樣的規(guī)律性可以得到滿(mǎn)足,但是如果我們用replace方法來(lái)寫(xiě)它,我們需要反寫(xiě)。
建議使用匹配方法
<!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>
過(guò)去,我們只使用onkeyup、onkeydown和onchange來(lái)實(shí)現(xiàn)輸入監(jiān)控,但這些都有一些不好的用戶(hù)體驗(yàn)。例如,onchange事件僅在鍵盤(pán)或鼠標(biāo)操作更改對(duì)象屬性并失去焦點(diǎn)時(shí)觸發(fā),腳本觸發(fā)器無(wú)效;而onkeydown和onkeyup在處理復(fù)制、粘貼、拖放和長(zhǎng)鍵(按住鍵盤(pán))等細(xì)節(jié)方面并不完美。
onpropertychange屬性在某些情況下可以解決上述問(wèn)題,無(wú)論焦點(diǎn)是否丟失。無(wú)論是JS操作還是鍵盤(pán)鼠標(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。