Вернуться

Экранирование спец.символов в HTML-строке
/*----------------------------------------------------| | Код любого спец.символа можно найти в этой таблице: | | https://ascii.cl/htmlcodes.htm | |----------------------------------------------------*/ $.escapeHtml = (function() { // Список кодов спец.символов которые будем экранировать var codes = [ 34,// " 38,// & 39,// ' 47,// / 60,// < 61,// = 62,// > 96 // ` ]; // Создаем таблицу спец.символов var chars = {}; var char = ''; var reg = ''; // Заполняем таблицу спец.символов for (var i = 0; i < codes.length; i++) { char = String.fromCodePoint(codes[i]); chars[char] = codes[i]; reg += char; } // Создаем регулярное выражение reg = new RegExp('['+reg+']', 'g'); // Возвращаем функцию return function(str) { // Поиск спец.символов return (typeof str == 'string' ? str : ''+str).replace(reg, function(char) { // Экранируем спец.символы return '&#'+chars[char]+';'; }); }; }()); console.log('Результат:'); console.log(escapeHtml('"')); console.log(escapeHtml('&')); console.log(escapeHtml('>')); console.log(escapeHtml("'")); console.log(escapeHtml('/')); console.log(escapeHtml('<')); console.log(escapeHtml('=')); console.log(escapeHtml('>')); console.log(escapeHtml('`')); /* Результат: &#34; &#38; &#62; &#39; &#47; &#60; &#61; &#62; &#96; */
Преобразование символа в число и обратно
var str = 'ABZ'; for (var i = 0; i < str.length; i++) { console.log(str[i]+' = '+str[i].codePointAt()); } /* A = 65 B = 66 Z = 90 */ console.log('Z'.codePointAt());// 90 console.log(String.fromCodePoint(90));// Z /* 90 Z */