比较unicode代码刻度标记值

时间:2012-02-13 07:20:37

标签: javascript string unicode character-encoding

我正在使用Unicode值'✔'在文本区域中显示刻度线。

现在我需要获取文本区域中的值并需要检查符号是否存在?

当我拿取文本区域值时,我得到的复选框没有勾选符号而不是刻度符号。

如何比较此Unicode值是否存在?

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

1 个答案:

答案 0 :(得分:10)

您的问题是✔是一个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....'表示法使用十六进制数字。如果你想在那里使用十六进制,你也可以在HTML中使用&#x....;,例如✔是✔。仅使用十六进制可能比处理基本转换更容易。