Соответствующее регулярное выражение будет:
^[a-zA-Z0-9/#&^\- ]{0,20}$
Спросите себя, является ли A-Z
правильной вещью. Возможно, вы захотите разрешить большее (например, символы с акцентом).
Используйте JavaScript Unicode Block Range Creator , чтобы приспособить регулярное выражение для более широкого набора разрешенных входных данных. Проверка разрешенных символов с помощью удобного Javascript RegExp Unicode Class Class Tester .
Как всегда, дважды проверьте значения формы на стороне сервера. Полагаться на JavaScript для выполнения всей проверки ввода опасно.
Для jQuery, посмотрите на плагин Valitator и используйте код в следующих строках:
$.validator.addMethod(
"yourFormField",
function(value) {
return /^[a-zA-Z0-9/#&^\- ]{0,20}$/.test(value);
},
"Please enter a valid value."
);