str.match(/^[A-Z#@,]+$/)
будет соответствовать строке, которая ...
- ... начинается
^
и заканчивается $
приложенным шаблоном
- ... содержит заглавные буквы
A-Z
(не соответствует строчным буквам)
- ... содержит только специальные символы
#
, @
и ,
- ... имеет не менее 1 символа (без пустой строки)
Если регистр не учитывается, вы можете добавить i
в конце: (например, /pattern/i
)
** ОБНОВЛЕНИЕ **
Если вам нужно проверить, содержит ли поле только специальные символы, вы можете проверить, содержит ли строка только символы, которые не являются словами или числами:
if (str.match(/^[^A-Z0-9]*$/i)) {
alert('Invalid');
} else {
alert('Valid');
}
Это будет соответствовать строке, которая содержит только не буквенно-цифровые символы. Пустая строка также приведет к недействительности. Замените *
на +
, чтобы разрешить использование пустых строк.