我有一个输入字段和一个带有正则表达式的代码,使其只能输入数字
$('input').keyup(function () {
this.value = this.value.replace(/[^0-9]/g,'');
});
但是当有人尝试编辑字段中间的符号时,光标会放置在字段的末尾。这使得编辑变得困难,因为您必须删除要编辑的符号之后的所有符号。
一个简单的演示:
有人可以帮我解决这个问题吗?
最佳答案
仅当新字符串与旧字符串不同时才应替换:
$('input').keyup(function () {
var v = this.value.replace(/[^0-9]/g,'');
if (v!=this.value) this.value = v;
});
这样只要值有效,光标就不会放在末尾。
关于javascript - 正则表达式替换输入字段中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16148327/