Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 替换字符串中不匹配的字符_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 替换字符串中不匹配的字符

Javascript 替换字符串中不匹配的字符,javascript,jquery,regex,Javascript,Jquery,Regex,我有一个输入文本框,最大长度为20。在这个文本框中,我只想允许以下字符a-z,a-z,0-9,空白,下划线,破折号-,正斜杠//code>,反斜杠 因此,我提出了以下函数 $(“#se#del”).keyup(函数(e){ 常量正则表达式=/[^a-zA-Z0-9\/\-\]+/g; if(正则表达式测试(此值)){ this.value=this.value.replace(正则表达式“”); } }); 在正则表达式中使用\s作为空格,而不是会杀死你的正则表达式 $(“#se#del”)

我有一个
输入
文本框,最大长度为20。在这个文本框中,我只想允许以下字符
a-z
a-z
0-9
空白
,下划线
,破折号
-
,正斜杠
//code>,反斜杠

因此,我提出了以下函数

$(“#se#del”).keyup(函数(e){
常量正则表达式=/[^a-zA-Z0-9\/\-\]+/g;
if(正则表达式测试(此值)){
this.value=this.value.replace(正则表达式“”);
}
});

在正则表达式中使用
\s
作为空格,而不是
<代码>
会杀死你的正则表达式

$(“#se#del”)。关于('keyup',函数(e){
常量正则表达式=/[^a-zA-Z0-9\s\/\-\\]+/g;
if(正则表达式测试(此值)){
this.value=this.value.replace(正则表达式“”);
}
});


如果不匹配,如何替换文本?只有匹配的才会被替换。你能澄清一下吗?@WiktorStribiżew很抱歉搞混了。例如,如果我输入
#
此字符应替换为空字符串,则此字符将被删除,但在删除前会显示。这是因为您正在使用
keyup
事件。@WiktorStribiżew如果可能的话,您可以提供一个exmaple吗?我不明白问题是什么,但有人可能会看到下面的答案。您所说的“kill”是什么意思?如果OP使用
\s
或空格,这里没有太大区别。我按字面意思使用它。我的意思是它将无法正常工作。OP regex已经删除了
#
。我真的不知道为什么这个答案会被接受。我确信OP在代码中的某个地方有一个输入错误。