Как определить, содержит ли строка амхарский язык в JavaScript? - PullRequest
0 голосов
/ 27 января 2019

Мне нужно проверить, содержит ли строка амхарский язык, она также может содержать английские символы:

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

1 Ответ

0 голосов
/ 27 января 2019

Используя диапазон UTF-16 и метод charCodeAt():

Диапазон UTF-16 для амхарских букв от 4608 до 5017 и от *От 1010 * 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 для амхарских букв от 1200 до 137Fтак что вы можете использовать регулярное выражение, чтобы проверить, попадают ли строковые символы в эти два диапазона или нет.


Проверьте и выполните следующий Фрагмент кода для практического примера того, что я описал выше:

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
...