Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入事件上的正则表达式和Jquery出现问题_Javascript_Jquery_Input - Fatal编程技术网

Javascript 输入事件上的正则表达式和Jquery出现问题

Javascript 输入事件上的正则表达式和Jquery出现问题,javascript,jquery,input,Javascript,Jquery,Input,使用正则表达式仅允许某些字符时出现问题。问题是当我试图在单词中插入字符以更正错误时。当我尝试插入新字符时,光标移动到输入框的末尾 这是我使用的代码: $('body').on('input','.info',function() { this.value = this.value.replace(/[^a-zA-Z0-9+&,*_\- \b \r ]/g, ''); 有什么提示吗 提前谢谢您需要保存字符索引(选择开始),以便在值更改完成后重新定位到该索引,如果需要进行值

使用正则表达式仅允许某些字符时出现问题。问题是当我试图在单词中插入字符以更正错误时。当我尝试插入新字符时,光标移动到输入框的末尾

这是我使用的代码:

$('body').on('input','.info',function() {
        this.value = this.value.replace(/[^a-zA-Z0-9+&,*_\- \b \r ]/g, '');
有什么提示吗


提前谢谢

您需要保存字符索引(选择开始),以便在值更改完成后重新定位到该索引,如果需要进行值更改:

$('body').on('input','info',函数(e){
const index=this.selectionStart-1;
const replaced=此.value.replace(/[^a-zA-Z0-9+&,*.\u \-\ b\r]/g');
如果(已替换!==此.value){
此值=已替换;
this.selectionStart=索引;
this.selectionEnd=索引;
}
});

您需要保存字符索引(“代码>选择开始”
),以便在值更改完成后重新定位到该索引,如果需要进行值更改:

$('body').on('input','info',函数(e){
const index=this.selectionStart-1;
const replaced=此.value.replace(/[^a-zA-Z0-9+&,*.\u \-\ b\r]/g');
如果(已替换!==此.value){
此值=已替换;
this.selectionStart=索引;
this.selectionEnd=索引;
}
});