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

时间:2019-01-27 10:20:14

标签: javascript regex unicode unicode-string

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

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

1 个答案:

答案 0 :(得分:2)

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

阿姆哈拉字母的UTF-16范围是 4608 5017 ,以及从 11648 11743 ,因此您可以使用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