Выделенное регулярное выражение для персидского алфавита
Как я могу определить регулярное выражение, которое принимает только символы персидского алфавита?
Я попробовал следующую функцию, но она не работает должным образом:
function Just_persian(str){
var p=/[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/;
if(!str.match(p))
alert("invalid format");
}
Ответы
Ответ 1
Персидские символы находятся в арабском блоке Unicode, который варьируется от U + 0600 до U + 06FF (который указан в символьном классе как \u0600-\u06FF
).
function just_persian(str){
var p = /^[\u0600-\u06FF\s]+$/;
if (!p.test(str)) {
alert("not format");
}
}
Адаптирован к JavaScript из этого вопроса: Regex для проверки входной строки находится на персидском языке
Ответ 2
Вы можете использовать persianRex, он обнаруживает все персидские символы в разных раскладках клавиатуры, а также с открытым исходным кодом.
Загрузите его и поместите в папку проекта. Затем включите его в свой HTML следующим образом:
<script src="persian-rex/dist/persian-rex.js"></script>
Затем в вашем Javascript вы можете сделать это:
function Just_persian(str){
if(persianRex.text.test(str))
alert("not format");
}
Ответ 3
Персидские символы находятся в пределах диапазона: [\ u0600-\u06FF] И: [\ s]
Используйте этот код:
function Just_persian(str){
var p=/@"^([\u0600-\u06FF]+\s?)+$"/;
if(!str.match(p))
alert("not format");
}
Этот Патер включает в себя буквы и пробелы.