Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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 - Fatal编程技术网

Javascript Jquery只替换特定字符

Javascript Jquery只替换特定字符,javascript,jquery,Javascript,Jquery,我需要替换除#-之外的所有特殊字符。但下面的代码允许在键入上述内容后使用所有特殊字符 $("[id='searchjobautotop']").keyup(function(e){ var start = this.selectionStart, end = this.selectionEnd; var data= $(this).val() ; var dataFull = data.replac

我需要替换除#-之外的所有特殊字符。但下面的代码允许在键入上述内容后使用所有特殊字符

 $("[id='searchjobautotop']").keyup(function(e){
            var start = this.selectionStart,
            end = this.selectionEnd;
            var data= $(this).val() ;
            var dataFull = data.replace(/[^0-9a-zA-Z#.- ]/g, '');
            if(e.which!=37 && e.which!=39 && data.length<2)
            $(this).val(dataFull);
            this.setSelectionRange(start, end);

         });
$(“[id='searchjobautotop']”)。键控(函数(e){
var start=this.selectionStart,
end=this.selectionEnd;
var data=$(this.val();
var dataFull=数据。替换(/[^0-9a-zA-Z.-]/g');
if(e.which!=37&&e.which!=39&&data.length
$(“[id='searchjobautotop']”)键控(函数(e){
var start=this.selectionStart,
end=this.selectionEnd;
var data=$(this.val();
var dataFull=data.replace(/([~!@$%^&*()+=`{}\[\]\\\\\:\:;',\/?])+/g';
如果(e.which!=37&&e.which!=39)
$(this).val(dataFull);
此.setSelectionRange(开始、结束);
});

这对我很有用!

堆栈溢出不是编码服务那是什么?我刚刚问了一个问题。那么,为什么不从正则表达式中删除您不想替换的字符?@FaisalShahzad Stack Overflow是一个可以帮助您修复代码中错误的地方。这意味着您必须先自己尝试一些东西
$("[id='searchjobautotop']").keyup(function(e) {
             var start = this.selectionStart,
                 end = this.selectionEnd;
             var data = $(this).val();
             var dataFull = data.replace(/([~!@$%^&*()+=`{}\[\]\|\\:;'<>,\/? ])+/g, '');
             if (e.which != 37 && e.which != 39)
                 $(this).val(dataFull);
             this.setSelectionRange(start, end);
             });