Maksid doMatch function
by Osama Qassar
JavaScript
function doMatch($src, $elWithHarakat) {
console.log('DO MATCH --- $src, $elWithHarakat', $src, $elWithHarakat)
$matching = false;
$harakatArr = ['َ', 'ً', 'ُ', 'ٌ', 'ِ', 'ٍ', 'ْ', 'ّ'];
$src_Chars = $src.split('');
$elWithHarakat_Chars = $elWithHarakat.split('');
var $i = 0;
for ($n = 0; $n < $elWithHarakat_Chars.length; $n++) {
if ($i >= $src_Chars.length && !$harakatArr.includes($elWithHarakat_Chars)) {
$matching = false;
break;
} else if ($i >= $src_Chars.length) {
continue;
}
if ($harakatArr.includes($src_Chars[$i])) {
if ($harakatArr.includes($elWithHarakat_Chars[$n])) {
if ($elWithHarakat_Chars[$n] == $src_Chars[$i]) {
$matching = true;
$i++;
} else {
$matching = false;
break;
}
} else {
$i++;
$n--;
}
} else {
if ($harakatArr.includes($elWithHarakat_Chars[$n])) {
$n++;
if ($harakatArr.includes($elWithHarakat_Chars[$n])){ $n++ };
if ($elWithHarakat_Chars[$n] == $src_Chars[$i]) {
$matching = true;
$i++;
} else {
$matching = false;
break;
}
} else {
if ($elWithHarakat_Chars[$n] == $src_Chars[$i]) {
$matching = true;
$i++;
} else {
$matching = false;
break;
}
}
}
}
console.log('$matching', $matching)
return $matching;
}
var src = 'يَد';
var mtc = 'يَدُري';
doMatch(mtc, src)