Javascript 如何在字符串中找到字符 "utf-16"
Javascript how can I find character "utf-16" at string
有问题。对不起我的英语。
我有一个字符串。客户在文本区域输入短信文本。
如何在字符串中找到 utf-16
的现有字符?
在 php 我检查了这段代码:
if (iconv("UTF-8","UTF-8//IGNORE",$_entry_text) != $_entry_text) {
// exist utf-16
}
我如何在 Javascript 检查?第二天尝试找到答案((
谢谢。
如果它是一个短字符串,一种方法是只查看它的长度并检查是否有任何字符代码位于单字节 0-255 范围之外
if (_entry_text.charCodeAt(i) > 255) ...
字符串是一系列字符,每个字符都有一个字符代码。 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");
一样使用它
我觉得不需要循环;
var ascii = /^[ -~]+$/;
ascii.test("Sefa"); // it is true no non-ascii characters
ascii.test("Sefa£"); // it is false there is non-ascii character
有问题。对不起我的英语。
我有一个字符串。客户在文本区域输入短信文本。
如何在字符串中找到 utf-16
的现有字符?
在 php 我检查了这段代码:
if (iconv("UTF-8","UTF-8//IGNORE",$_entry_text) != $_entry_text) {
// exist utf-16
}
我如何在 Javascript 检查?第二天尝试找到答案((
谢谢。
如果它是一个短字符串,一种方法是只查看它的长度并检查是否有任何字符代码位于单字节 0-255 范围之外
if (_entry_text.charCodeAt(i) > 255) ...
字符串是一系列字符,每个字符都有一个字符代码。 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");
一样使用它我觉得不需要循环;
var ascii = /^[ -~]+$/;
ascii.test("Sefa"); // it is true no non-ascii characters
ascii.test("Sefa£"); // it is false there is non-ascii character