js的replace函数影响光标定位,怎么解决?

写个input:

<input class="correct2" id="password" type = "password" name="text" maxlength="16" onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" oninput="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\W]/g,''))" style="ime-mode:Disabled;" placeholder="用户名"/>

想动态修改输入内容,禁止输入的部分就被无替换了,可是replace会影响光标位置,用前后箭头移动光标总是跑到字串最后,用鼠标点击在光标位置输入后,光标也自动回到最后。

有什么解决办法,或是能实现同样功能的函数去替换replace

酱油瓶1121
浏览 3494回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP