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

这不是删除' - ',我试图删除空格也在两者之间。它不工作。数据替换不起作用

回答

2

为此,您需要将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);

+0

感谢@Mayank舒克拉。我不知道我是如何犯这个愚蠢的错误。谢谢反正。 –

0

String.prototype.replace()不改变原来的字符串,但返回一个新的。第一个参数是以下任一操作:

的regexp(图案)

甲RegExp对象或文字。一个或多个匹配被替换为newSubStr或指定函数返回的值。

SUBSTR(图案)

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

所以,如果你想更换hypens和空格,您必须使用以下命令:

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