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, ' ');