Разрешить только выбранный язык ввода UTF в JavaScript и проверить его на стороне сервера - PullRequest
2 голосов
/ 25 октября 2019

Моя страница:

<option>Hindi हिंदी</option>
<option>Arabic العَرَبِيَّة‎</option>
<option>Kannada ಕನ್ನಡ</option>
<option>Gujarati ગુજરાતી</option>
...
<option>Simplified Chinese 汉语</option>
...
<option>English English</option>
</select>
<input type="text" id='inf' name="info" required>

Мое требование:

  • Когда я выбираю язык «хинди» в поле выбора, в этом типе ввода текст (id ='inf') должны приниматься только символы UTF языка хинди (алфавиты и цифры), никакие другие. А также должен быть проверен на стороне сервера.
    таким же образом

  • Когда я выбираю «арабский» язык из поля выбора, в этом типе вводаtext (id = 'inf') должны приниматься только символы UTF языка хинди (алфавиты и цифры), никакие другие. А также должен быть проверен на стороне сервера.


Вот один способ добиться этого для английского языка:

На переднем конце:

<input type="text" id='inf' name="info" onclick="allLetter()" required>
<script>
function allLetter(inputtxt){ 
    var letters = /^[A-Za-z0-9]+$/;
    if(document.getElementById("inf").value.match(letters)){
        return true;
    }else{
        return false;
    }
}
</script>

На стороне сервера:

if (!preg_match('/[^A-Za-z0-9]/', $string)){
    // string contains only English letters
}

Но как бы вы достигли этого для языков, отличных от английского? Я хочу добиться этого динамически, без блоков регулярных выражений для каждого языка.

Если нужно знать наборы символов UTF, приведите подробные примеры со ссылками на UTF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...