JSFiddle - React, Tailwind, and code Playground
Unicode replace
by phrontisteries
HTML
<html><body>
<input type="text" size="30" id="uni" onkeyup="u(this.value)" value="plus: U+229E , minus: U+229F">
<input type="button" value="+" onclick='output("to")'><input type="button" value="-" onclick='output("back")'><input type="button" value="clear" onclick='output()'><br>
<input type="text" id="chars"><br>
<div id=output></div>
</body></html>
JavaScript
var unicodeNumber = /[Uu]\+[0-9A-Fa-f]{4}/g;
var nonAscii = /[^\x00-\x7F]/g;
var uni = document.getElementById("uni");
var chars = document.getElementById("chars");
var out = document.getElementById("output");
chars.value = uni.value;
function uCode(unicode){
return chars.value = unicode.replace(unicodeNumber, function (m) {
return String.fromCharCode(parseInt(m.slice(2),16));
})
}
function uChar(unicode){
return chars.value = unicode.replace(nonAscii, function (m) {
return "U+"+("0"+(m.charCodeAt(0).toString(16))).slice(-4).toUpperCase()
})
}
function output(x){
switch(x){
case "to":
out.innerHTML += uCode(chars.value) + "<br>";
break;
case "back":
out.innerHTML += uChar(chars.value) + "<br>";
break;
default: // clear
out.innerHTML = "";
chars.innerHTML = "";
}
}