2017-04-07 79 views
0

這是一個奇怪的!我有點想說我的replace函數不能正常工作的原因是因爲字體。我從來沒有見過這個問題,我不知道我是否忽略了一些東西!?Javascript替換單引號與空字符串

我有以下變量設置爲與'的靜態文本。

var lastName = "O'Donnell"; 

在我的瀏覽器,console.log(lastName)輸出:O’Donnell。而不是O'Donnell。因此,以下替換方法不起作用。

截圖: enter image description here

return lastName.replace(/'/g, '') 

我在做什麼錯?

+4

這不是一個'''字符,它實際上是一個[「智能引用」](https://en.wikipedia.org/wiki/Quotation_marks_in_English#Typing_quotation_mar ks_on_a_computer_keyboard)字符。它的unicode點是'U + 2019'。你可以嘗試使用正則表達式'/ \ u2019/g'。 –

+0

console.log(lastName)輸出:O'Donnell按照計劃在我的Chrome上運行。也許嘗試不同的瀏覽器? – user2202098

+0

@ user2202098:截圖顯示它不是一個'''字符。他必須在他的代碼中使用明智的引號(如果你從MS單詞複製並粘貼,它有時會這樣做)。而且,這些字符在複製和粘貼到其他程序或純文本時並不總是保持不變。 –

回答

7

您要替換的字符與名稱中的字符不同。

最好的,而不是刪除所有非字母數字字符,以迎合名稱,如:

  • 奧尼爾
  • 聖瑪麗

嘗試:

lastName.replace(/\W/g, '') 
+0

就是這樣。非常感謝。 –