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

Javascript-如何替换所有+;在带有空格的字符串中

Javascript-如何替换所有+;在带有空格的字符串中,javascript,jquery,angularjs,angularjs-scope,Javascript,Jquery,Angularjs,Angularjs Scope,我的页面上有一个输入框,其中包含由+分隔的字符串,例如: this+is+my+string 在页面加载时,我想将所有+替换为空白。我试过: var str = $('#MyText1'); str = str.replace(/+/gi, ' '); 但是,我得到以下错误: SyntaxError: invalid quantifier 请注意,我的应用程序使用的是Angular v.1.2.8,它确实是正则表达式中的量词(表示“1或更多”) 你的语法已经接近了--试试看 您正在使用正

我的页面上有一个输入框,其中包含由+分隔的字符串,例如:

this+is+my+string
在页面加载时,我想将所有+替换为空白。我试过:

var str = $('#MyText1');

str = str.replace(/+/gi, ' ');
但是,我得到以下错误:

SyntaxError: invalid quantifier

请注意,我的应用程序使用的是Angular v.1.2.8,它确实是正则表达式中的量词(表示“1或更多”)

你的语法已经接近了--试试看


您正在使用正则表达式替换。在正则表达式中,“+”具有特殊含义。但是,您不需要那种特殊的含义,您需要的是文字字符。因此,您必须避开“+”

str = str.replace(/\+/gi, ' ');

您忘记提取输入框的内容:

var str = $('#MyText1').val();
                        ^^^^^
现在,逃生将起作用:

str = str.replace(/\+/gi, ' ');

请参见演示->

“转义”加号->
str=str.replace(/\+/gi,”)然后它就工作了。@davidkonrad-在上面,我看到了错误:错误:str.replace不是一个函数,这是因为我使用的是Angular?发布了一个答案,你也忘记了从输入中提取值,你只引用输入框本身,而它没有
.replace()
方法,我看到了错误:错误:str.replace不是一个函数,这是因为我使用的是Angular?而且,他忘了替换加号:-)
str = str.replace(/\+/gi, ' ');