1、onkeyup = "value=value.replace(/[^\d]/g,'')"
使用 onkeyup 事件,有 bug ,那就是在中文輸入法狀態下,輸入漢字之后直接回車,會直接輸入字母;
2、onchange = "value=value.replace(/[^\d]/g,'')"
使用 onchange 事件,在輸入內容后,只有 input 喪失焦點時才會得到結果,並不能在輸入時就做出響應
3、oninput = "value=value.replace(/[^\d]/g,'')"
使用 oninput 事件,完美的解決了以上兩種問題,測試暫時還沒有出現其它問題。
代碼示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>input</title> </head> <body> 只能輸入純數字的輸入框:<input type="text" name="" oninput="value=value.replace(/[^\d]/g,'')"> </body> </html>
以上代碼均已在谷歌、火狐、百度、UC、IE11、360急速、QQ、Edge瀏覽器下測試完畢,請放心使用!
原文鏈接:https://blog.csdn.net/w6990548/article/details/79388905