如何检测字符串是否包含 javascript 中的阿姆哈拉语?

How to detect if string contains Amharic language in javascript?

我需要检查一个字符串是否包含阿姆哈拉语,它也可以包含英文字符:

const amharic = "የሙከራ test ሕብረቁምፊ";
amharc.match(pattern)

使用 UTF-16 范围和 charCodeAt() 方法:

阿姆哈拉字母的 UTF-16 范围从 460850171164811743 所以你可以使用 charCodeAt() 方法来检查字符串字符是否在这两个范围内。


检查并 运行 以下 代码段 以获得我上面描述的实际示例:

var string = "የሙከራ test ሕብረቁምፊ";

function checkAmharic(x) {
    let flag = false;   
    [...x].forEach((e, i) => {
     if (((e.charCodeAt(i) > 4607) && (e.charCodeAt(i) < 5018)) || ((e.charCodeAt(i) > 11647) && (e.charCodeAt(i) < 11743))) {
       if (flag == false) {
         flag = true;
        }
      }
    })
    return flag; 
}

console.log(checkAmharic(string)); // will return true
console.log(checkAmharic("Hello All!!")); // will return false


使用 ASCII 范围和正则表达式:

阿姆哈拉字母的 ASCII 范围是从 1200137F 因此您可以使用正则表达式检查字符串字符是否在这两个范围内。


检查并 运行 以下 代码段 以获得我上面描述的实际示例:

var string = "የሙከራ test ሕብረቁምፊ";

function checkAmharic(x) {
    return /[\u1200-\u137F]/.test(x); // will return true if an amharic letter is present
}

console.log(checkAmharic(string)); // will return true
console.log(checkAmharic("A")); // will return false