var data = this.state.registerMobile;
//My data will be like +91 345 45-567
data.replace('-','');
这不是删除' - ',我试图删除空格也在两者之间。它不工作。数据替换不起作用
var data = this.state.registerMobile;
//My data will be like +91 345 45-567
data.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);
String.prototype.replace()
不改变原来的字符串,但返回一个新的。第一个参数是以下任一操作:
的regexp(图案)
甲RegExp对象或文字。一个或多个匹配被替换为newSubStr或指定函数返回的值。
SUBSTR(图案)
一个字符串,它由newSubStr代替。它被视为逐字字符串,不会被解释为正则表达式。 只有第一次出现将被替换。
所以,如果你想更换hypens和空格,您必须使用以下命令:
var data = this.state.registerMobile;
data = data.replace(/\s|-/g, '');
感谢@Mayank舒克拉。我不知道我是如何犯这个愚蠢的错误。谢谢反正。 –