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 = "";
  }
	
}