2017-04-15 58 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, '');