2013-07-08 42 views
1

如何將HTML輸入中的unicode轉換爲javascript中的希臘字符?第一個例子不起作用,但第二個例子。如何將HTML輸入中的unicode轉換爲javascript中的希臘字符?

var str = input.value;  \u03B1 (typed into input box) 
console.log(str);   \u03B1 

var str = "\u03B1";   assigned directly 
console.log(str);   α 
+0

爲什麼要使用這樣的輸入法?如果我不得不使用類似的東西,作爲用戶,我寧願啓動CharMap,選擇那裏的字符,然後剪切和粘貼。 –

回答

3

,可將Unicode文本字符串中的實際字符,你可以運行他們雖然String.prototype.replaceString.fromCharCode

var str = '\\u03B1\\u03B2\\u03B3\\u03B4'; // "\u03B1\u03B2\u03B3\u03B4" 

str.replace(/\\u([\da-fA-F]{4})/g, function (m, $1) { 
    return String.fromCharCode(parseInt($1, 16)); 
}); // "αβγδ" 
3

反斜槓逸出在第二可變str - 在所述第一值,如果是input.value \u03B1,它實際上是相同的var str = "\\U03B1"通過轉義它反斜槓無效。

如果要評估在該領域的轉義字符,你可以這樣做是這樣的:

var str = input.value.replace("\\u", ""); 
str = String.fromCharCode(parseInt(str, 16)); 

這工作,因爲你以後\ü分析從一切整數並傳遞到這fromCharCode。字符代碼是整數 - 您正在解析原始\u23B1代碼中的代碼。

相關問題