Сравнение значений отметок кода Юникода - PullRequest
6 голосов
/ 13 февраля 2012

Я использую значение Unicode '✔' для отображения галочки в текстовой области.

Теперь мне нужно получить значение в текстовой области и проверить, присутствует ли в нем символ?

При извлечении значения текстовой области у меня появляется флажок без символа галочки вместо символа галочки.

Как я могу сравнить это значение Unicode существует или нет?

// Not working.
if( document.getElementById('location').value.charAt(0) == '&#10004')
    alert("symbol');

1 Ответ

10 голосов
/ 13 февраля 2012

Ваша проблема в том, что ✔ - это HTML-сущность, которая представляет в HTML, но это просто строка в JavaScript. В JavaScript вы бы хотели '✔' (необработанный символ) или '\u2714':

if(document.getElementById('location').value.charAt(0) == '\u2714')
    alert("symbol");
else
    alert("not there");
​

Демо: http://jsfiddle.net/ambiguous/WCdCg/

Нотация HTML &#....; использует десятичные числа, нотация JavaScript '\u....' использует шестнадцатеричное. Преобразование 10004 в шестнадцатеричное дает 2714. Вы также можете использовать &#x....; в HTML, если вы также хотите использовать шестнадцатеричное значение, например, ✔ is & # x2714 ;. Использовать только шестнадцатеричный код, вероятно, проще, чем иметь дело с базовыми преобразованиями.

...