Как правильно указывает Тим, символ ^
является метасимволом, только когда он является первым символом в классе символов.
Одна вещь, которая может помочь при написании регулярного выражения, это написать на английском языке (или на вашем родном языке по выбору) именно то, что соответствует регулярному выражению. Давайте сделаем это с вашими двумя регулярными выражениями:
Первое регулярное выражение: /^[a-zA-Z0-9]+$/
означает: «В начале строки соответствует один или несколько символов, которые могут быть буквенными или числовыми, а затем - конец строки».
Второе регулярное выражение: /^[a-zA-Z^0-9]+$/
означает: "В начале строки соответствует одному или нескольким символам, которые могут быть алфавитом, символом ^
или цифрой, а затем совпадением конец строки. "
Когда вы произносите это так, ваша ошибка сразу становится очевидной. Для второго регулярного выражения вам просто нужно удалить числовое выражение из класса символов разрешенных символов следующим образом:
Новое регулярное выражение: /^[a-zA-Z]+$/
означает: "В начале строки соответствует один или несколько букв алфавита, а затем конец строки."