#javascript #regex
#javascript #регулярное выражение
Вопрос:
В течение нескольких часов я боролся со следующим:
Я хочу использовать регулярное выражение с использованием JS, чтобы разрешить следующие символы:
/^[a-zA-Z0-9 -.,]*$/igm
Однако я также хотел бы разрешить
или
, что означает, что я разрешил бы символ < amp; > и / , но только тогда, когда в любой из двух приведенных выше форм (
или
).
Я играл с чем-то вроде;
/^(<(?=br />|br/>))*amp;/img
Очевидно, что это не работает, и я не могу понять, как проверить в одной строке кода, содержит ли пользовательский ввод (строка) только разрешенные символы плюс дополнительные символы (<,> ,/ ), но только при использовании как (
или
).
Ваша помощь очень ценится. Спасибо.
Комментарии:
1. Используйте
/^(?:<br ?/>|[a-zA-Z0-9 .,-])*$/
2. Да, Виктор, большое спасибо.
Ответ №1:
Вы можете использовать
^(?:<br ?/>|[a-zA-Z0-9 .,-])*$
Подробные сведения
^
— начало строки(?:<br ?/>|[a-zA-Z0-9 .,-])*
— ноль или более:<br ?/>
—<br
, необязательный пробел,/>
|
— или[a-zA-Z0-9 .,-]
— буква, цифра, пробел, точка, запятая или дефис
$
— конец строки.