发布于 2019-02-16 02:28:07
这些特殊字符实际上由两个代码点组成:55349和其他代码点,56658和更高的代码点(每个字符的第二个代码点不同)。
const str = '';
console.log(str.charCodeAt(0), str.charCodeAt(1));
可以使用正则表达式将输入中的每个字符替换为由55349代码点组成的字符串,再加上与所述字符相关的代码点:
const input = document.querySelector('#input');
const output = document.querySelector('#output');
input.addEventListener('blur', () => {
output.textContent = input.value.replace(/[a-z]/g, (char) => {
// make code indexed from 0 to 25, corresponding to a to z:
const code = char.charCodeAt() - 97;
// add the above to 56658, since 56658 represents :
return String.fromCharCode(55349, code + 56658);
});
});<input id="input" value="example text">
<div id="output"></div>
https://stackoverflow.com/questions/54719156
复制相似问题