Задать вопрос
FC18
@FC18

Ограничение использования некоторых символов в InputField?

Как сделать так, чтобы в InputField игрок мог ввести только одно слово, и не мог использовать знаки препинания?
  • Вопрос задан
  • 916 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
не знаю , возможно с новыми UIElements куда-то переехало и переименовали , но общий принцип - тут посмотрите в документации
https://docs.unity3d.com/2019.1/Documentation/Scri...

скриптом проверять и отсекать ненужные символы.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
freeExec
@freeExec
Участник OpenStreetMap
Перехватывать изменения поля ввода и удалять от туда ненужные символы.
Ответ написан
Комментировать
zabudkin
@zabudkin
Инженер-системотехник, программист, админ, ТПУ!!!!
Самое простое (коды букв в аски таблице):
<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
$('.prices').keypress(function(e) {
if (!(e.which==8 || e.which==44 ||e.which==45 ||e.which==46 ||(e.which>47 && e.which<58))) return false;
});
});
</script>


Только ввод цифр:
<input type="text" id="input"/>
<script>
 input = document.getElementById('input')
 input.onkeyup = function(){this.value = this.value.replace(/[^0-9\.]/g,'')}
</script>

А вот гениальное решение (правда не моё):

даёт возможность вставить одну точку или одну запятую и цифры
<script>
function validate(inp) {
    inp.value = inp.value.replace(/[^\d,.]*/g, '')
                         .replace(/([,.])[,.]+/g, '$1')
                         .replace(/^[^\d]*(\d+([.,]\d{0,5})?).*$/g, '$1');
}

</script>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы