Запрет ввода русских символов

Статус
В этой теме нельзя размещать новые ответы.

lordBlack

Мой дом здесь!
Регистрация
29 Ноя 2007
Сообщения
623
Реакции
267
как выставить запрет ввода русских символов в поле "Логин" и "пассворд" ?

поковырялся не смог найти решение... по сути только две формы нужно запрет на ввод сделать а бъюсь уже день...

скажем заполнил -нажал зарегитсья - а тут бац -окошко -"ты мол такой-сякой русские символы убери из логина и пароля !!!"
вот...
 
скажем заполнил -нажал зарегитсья - а тут бац -окошко -"ты мол такой-сякой русские символы убери из логина и пароля !!!"
вот...

это делается на js (опционально). в любом случае, проверяй регуляркой, есть ли в тексте кириллица. что именно не понятно?
 
PHP:
<script type="text/javascript">
function setValidator(id, regex) {
  var element = document.getElementById(id);
  if (element) {
    var lastValue = element.value;
    if (!regex.test(lastValue))
      lastValue = '';
    setInterval(function() {
      var value = element.value;
      if (value != lastValue) {
        if (regex.test(value))
          lastValue = value;
        else
          element.value = lastValue;
      }
    }, 10);
  }
</script>





<input type="text" id="test" />
<script type="text/javascript"> setValidator('test', /^[a-zA-Z_]*$/); </script>


Добавлено через 5 минут
PHP:
inputName.onKeyPress = function(e){
    var result = false
    if(/[a-zA-Z_]*$/.test(String.fromCharCode(e.charCode ? e.charCode : e.keyCode))){result = true}
    return result;
}

+ нужно позаботиться об копипаст.
 
Яваскрипт не надежен, потому лучше обезопаситься еще и php:

PHP:
<?php
function alphastr($str){
	return(preg_replace('/[^a-zA-Z0-9_\-]/', '', $str));
	}

$error_string = (alphastr($password) != $password) ? '<li>Ошибка! В пароле присутствуют недопустимые знаки.</li>' : '';
$error_string .= (alphastr($login) != $login) ? '<li>Ошибка! В логине присутствуют недопустимые знаки.</li>' : '';

if(!empty($error_string)){

die($error_string);

} else {

// код если нет ошибок...

}
?>
а чтобы выглядело все просто и красиво, можно заюзать аякс, и возвращать проверку в модальном окне.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху