Сложная строковая операция - PullRequest
0 голосов
/ 24 февраля 2012

Ниже приведен скрипт для ввода только алфавитов, чисел, пробела, деления, возврата. В этом коде мне нужно внести изменение, что если «input» в первой позиции является «пробелом» и в пользовательском вводе больше нет aphanumeric characters, он должен возвращать false else true.

JS

function usrInp(evt) {
var char = (evt.which) ? evt.which : event.keyCode
if (char > 64 && inp < 91 || char > 96 && char < 123 || char > 47 && char < 58 || char     == 127 || char == 8 || char == 32) {
    return true;
}
else {
    return false;
}
}

ФОРМА HTML

 <form name="one" id="one">
  <input type="text" name="abc" id="abc" onkeypress="return    usrInp(event)" />
 </form>

Ответы [ 2 ]

0 голосов
/ 24 февраля 2012

Использование события нажатия клавиши не захватит клавишу возврата, вам для этого потребуется использовать keyup. Если вы хотите получить значение ascii нажатой клавиши, вы можете использовать:

function usrInp(evt) {
  var char = (evt.which) ? evt.which : event.keyCode
  return String.fromCharCode(char).match(/^[A-Z0-9 _]*$/);
}
0 голосов
/ 24 февраля 2012

Почему бы не regex?

return input.match(/^[\w\s]*$/g) != null

Возвращает true, если вход содержит только AZ, 0-9, пробелы или подчеркивания.

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