У меня есть некоторые текстовые поля ввода, где пользователи должны вводить только алфавиты в некоторых полях (или) только числа в определенных полях и т.д. Я реализовал это на английском языке с использованием регулярных выражений, но как это сделать на арабском языке.
Вот мой код проверки для английского
//ввод только алфавитов
$(".alphaOnly").bind("keyup blur", function(e){
if(e.keyCode!=37 && e.keyCode!=39 && e.keyCode!=32 && e.keyCode!=17 && e.keyCode!=8 && e.keyCode!=46 && !e.ctrlKey){
$(this).val( $(this).val().replace(/[^a-zA-Z_ ]*$/,'') );
}
});
$(".alphaOnly").bind("keydown blur", function(e){
if($(this).val().length == 0){
if(e.keyCode==32){
$(this).val("");
e.preventDefault();
}
}else{
if(e.keyCode!=37 && e.keyCode!=39 && e.keyCode!=32 && e.keyCode!=17 && e.keyCode!=8 && e.keyCode!=46 && !e.ctrlKey){
$(this).val( $(this).val().replace(/[^a-zA-Z_ ]*$/,'') );
}
}
});
Арабский набор символов
[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]
Вы можете проверить с помощью регулярного выражения следующим образом:
function HasArabicCharacters(text)
{
var arregex = /[\u0600-\u06FF]/;
alert(arregex.test(text));
}
Арабский шрифт в Юникоде:
Арабский скрипт содержится в следующих блоках:
Arabic (0600—06FF, 225 characters)
Arabic Supplement (0750—077F, 48 characters)
Arabic Extended-A (08A0—08FF, 39 characters)
Arabic Presentation Forms-A (FB50—FDFF, 608 characters)
Arabic Presentation Forms-B (FE70—FEFF, 140 characters)
Rumi Numeral Symbols (10E60—10E7F, 31 characters)
Arabic Mathematical Alphabetic Symbols (1EE00—1EEFF, 143 characters)
Юникоды взяты из википедии - арабский шрифт в Юникоде