Я хочу использовать JavaScript (может быть с jQuery), чтобы выполнить некоторую проверку на стороне клиента, чтобы проверить, соответствует ли строка регулярному выражению:
^([a-z0-9]{5,})$
В идеале это было бы выражение, которое возвращало истину или ложь.
Я новичок в JavaScript, match()
делаю то, что мне нужно? Кажется, чтобы проверить, соответствует ли часть строки регулярному выражению, а не все.
javascript
regex
match
Ричард
источник
источник
Ответы:
Используйте,
regex.test()
если все, что вы хотите, это логический результат:... и вы можете удалить
()
из своего регулярного выражения, так как вам не нужно захватывать.источник
Используйте
test()
метод:источник
RegExp
позволяет вводить значения переменных в строку регулярного выражения.new RegExp("^([a-z0-9]{5,})$")
, чтобы заставить его работатьВы также можете использовать
match()
:Но,
test()
кажется, быстрее, как вы можете прочитать здесь .Важная разница между
match()
иtest()
:match()
работает только со строками, ноtest()
работает и с целыми числами.источник
match
члена). Я бы рекомендовал явно преобразовать ваш номер в строку, если вы хотите использовать его с регулярным выражением (String(123)
например).test
работает на 30% лучше, когда мы просто хотим проверить строку на соответствие регулярному выражению, а не извлекать из нее подстроки.Используйте,
/youregexp/.test(yourString)
если вы хотите знать, соответствует ли ваша строка регулярному выражению.источник
Вот пример, который ищет определенные теги HTML, поэтому ясно, что он
/someregex/.test()
возвращает логическое значение:источник
источник
Вы можете попробовать это, это работает для меня.
источник
пожалуйста, попробуйте этот цветок:
источник
пытаться
Показать фрагмент кода
источник
0-9
можно уменьшить aaaaaaaaaaaaaaaaaaaaa, вплоть до\d
. О, и что группа захвата не нужна.Я бы рекомендовал использовать метод execute, который возвращает null, если совпадений не существует, в противном случае он возвращает полезный объект.
источник
источник