Может ли кто-нибудь объяснить JS ограничения Regex, используя {} - PullRequest
0 голосов
/ 11 февраля 2020

Хорошо, поэтому я написал функцию, в которой я проверял бы входную строку и проверял, соответствует ли она одному из нескольких различных форматов. Все мои тесты, казалось, работали нормально, за исключением последнего формата, который я не мог заставить работать, используя только мое регулярное выражение & .test () ...

/\d{10}/ позволял строке длиннее, чем я хотел

/\^d{10}!?.*$/ не позволит использовать строку правильной длины (и другие комбинации, подобные этой)

Я пробовал другие комбинации, но в конечном итоге прибегнул к использованию оператора if для проверки длины строки, но я хочу знаю, почему это не сработало, и что я должен был сделать, если кто-то может мне помочь! Спасибо

1 Ответ

1 голос
/ 11 февраля 2020

Я подозреваю, что вы не хотите, чтобы backsla sh.

Это регулярное выражение:

 /\^d{10}!?.*$/

... ищет "десять цифр , перед которыми стоит литерал ^ в конце строки. (Из-за якоря $)

Несомненно, вы также имеете в виду ^, чтобы быть якорем. Это регулярное выражение:

 ^\d{10}$

... ищет строку, состоящую из только ровно из десяти цифр. Символ ^ привязывает поиск к началу строки, а символ $ привязывает ее к концу Другими словами, «десять цифр, начинающиеся в начале строки, а также заканчивающиеся в конце строки.» «Строка, состоящая только из десяти цифр.»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...