Регулярное выражение для алфавитно-цифровой в Angularjs

Я хочу регулярное выражение для буквенно-цифровых символов в angularJS, я пробовал некоторые регулярные выражения, такие как "(\d[az])", но они позволяют мне вводить только цифры, а также только алфавиты. Но я хочу регулярное выражение, которое не позволит мне войти в них.

Пример:121232, abchfe, abd () *, 42232 ^ 5 $ являются некоторыми примерами неверного ввода.12fUgdf, dGgs1s23 - некоторые допустимые входные данные.

4 ответа

Решение

Этот требует по крайней мере один из каждого (аз, AZ и 0-9):

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])([a-zA-Z0-9]+)$

Вы можете попробовать это. этому выражению соответствует хотя бы один номер, один символ и никаких других специальных символов

^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$

в угловых может проверить как:

$scope.str = '12fUgdf';
var pattern = new RegExp('^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$');
$scope.testResult = pattern.test($scope.str);

ПЛАНКЕР ДЕМО

Если вы хотите вернуть замененный результат, то это будет работать:

var a = 'Test123*** TEST';
var b = a.replace(/[^a-z0-9]/gi,'');
console.log(b);

Это вернуло бы:

Test123TEST

ИЛИ ЖЕ

/^([a-zA-Z0-9 _-]+)$/

Вышеупомянутое регулярное выражение разрешает пробелы в строке и ограничивает специальные символы. Оно допускает только az, AZ, 0-9, пробел, подчеркивание и тире.

Попробуй это: ^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]+$

dGgs1s23-valid
12fUgdf-valid,
121232-invalid, 
abchfe-in valid,
 abd()*- invalid, 
42232^5$- invalid
Другие вопросы по тегам