数据替换无效

时间:2017-04-15 10:19:49

标签: javascript

var data = this.state.registerMobile;
//My data will be like +91 345 45-567
data.replace('-','');

不是删除' - '而且我也试图删除它们之间的空格。它不起作用。

2 个答案:

答案 0 :(得分:2)

为此,您需要将replace的结果分配给某个变量,replace将不会对同一个变量进行更改,它将返回修改后的值。所以像这样使用它:

var data = this.state.registerMobile;
data = data.replace('-', '');
console.log('updated data', data);

检查示例:

a = '+91 12345678';

b = a.replace('+', '');

console.log('a', a );

console.log('b', b );

答案 1 :(得分:0)

String.prototype.replace()不会更改原始字符串,但会返回一个新字符串。它的第一个参数是以下任何一个:

  

regexp(模式)

     

RegExp对象或文字。匹配或匹配将替换为newSubStr或指定函数返回的值。

     

substr(模式)

     

要由newSubStr替换的字符串。它被视为逐字字符串,不会被解释为正则表达式。 只会替换第一次出现。

因此,如果要替换超大和空格,则必须使用以下内容:

var data = this.state.registerMobile;
data = data.replace(/\s|-/g, '');