Вернуться
/*----------------------------------------------------|
| Код любого спец.символа можно найти в этой таблице: |
| 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('`'));
/*
Результат:
"
&
>
'
/
<
=
>
`
*/
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
*/