bmw318mt Ответов: 2

Регулярное выражение javascript


Здравствуйте мне нужно регулярное выражение чтобы разрешить только определенный текст в текстовом поле
 10 numbers: 0 to 9
 26 letters: A to Z (upper cases)
 10 non-alphanumeric characters: - @ # $ % ( ) \ / . (dot)


5 - й символ должен быть равен *

пример
TLDZ*BB01S6N
22(O*AVB124C

Что я уже пробовал:

.нажатие клавиши( функция ( e ) {

var validChar = String.fromCharCode(e.which).search(/^[0-9A-Z]$/) === 0;

если (!validChar || ( (е.которые != 46 || $(этот).функция val().помощи indexOf('*') != -5) &усилитель;&
(Эл.что в < 35 || Эл.что &ГТ; 37) и усилитель; &
(Эл.что &ЛТ; 40 || электронной.что &ГТ; 42) и усилитель; &
(Эл.что &ЛТ; 45 || электронной.что &ГТ; 57) и усилитель; &
(Эл.что &ЛТ; 64 || электронной.что &ГТ; 90) и усилитель; &
(e.which == 92) )) {
е.метод preventDefault();

}

2 Ответов

Рейтинг:
2

Patrice T

Всего лишь несколько интересных ссылок, которые помогут построить и отладить регулярное выражение.
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
RegExr: Learn, Build, & Test RegEx[^]
Этот пример показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]


Рейтинг:
1

OriginalGriff

Ваше регулярное выражение допускает только один символ.
Попробовать это:

^[\w-@#\$*()\\/\.]+$


bmw318mt

Спасибо, как заставить 5-го персонажа быть астериком?
Примечание в строке должна быть только одна звездочка

OriginalGriff

Попробуй:

^[\w-@#\$()\\/\.]{4}\*[\w-@#\$()\\/\.]+$


Если вы собираетесь использовать регулярные выражения, то получите копию Экспрессо[^] - это бесплатно, и он проверяет и генерирует регулярные выражения.