JavaScript如何在字符串中找到字符“ utf-16”

时间:2018-07-27 08:37:04

标签: javascript utf-16

有一个问题。对不起,我的英语。

我有一个字符串。客户在文本区域输入SMS文本。 如何在字符串处找到utf-16的现有字符?

在php上,我检查以下代码:

if (iconv("UTF-8","UTF-8//IGNORE",$_entry_text) != $_entry_text) {
  // exist utf-16
}

如何使用Javascript检查?尝试在第二天找到答案((

谢谢。

3 个答案:

答案 0 :(得分:1)

字符串是一系列字符,每个字符都有一个字符代码。 ASCII定义从0到127的字符,因此,如果字符串中的字符的代码大于该代码,则它是Unicode字符。此功能进行检查。参见String#charCodeAt

function hasUnicode (str) {
    for (var i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) > 127) 
        return true;
    }
    return false;
}

然后像hasUnicode(“ Test message”);一样使用它

答案 1 :(得分:0)

如果它是一个短字符串,一种方法是只检查它的长度,然后检查是否有任何字符代码位于单字节0-255范围之外

if (_entry_text.charCodeAt(i) > 255) ...

答案 2 :(得分:0)

我认为不需要循环;

var ascii = /^[ -~]+$/;

ascii.test("Sefa"); // it is true no non-ascii characters
ascii.test("Sefa£"); // it is false there is non-ascii character