Я хочу проверить определенное выражение регулярного выражения, чтобы убедиться, что за некоторой строкой следует '::' и какое-то число. Число может быть от 1 до 999999999999.

Например: «ACME LOCK & KEY :: 42443» должно пройти вместо «ABC Inc.» должен потерпеть неудачу.

Любая помощь?

1
CFNinja 14 Сен 2010 в 01:16

2 ответа

Лучший ответ

Попробуй это:

/::[1-9]\d{0,11}$/.test(str)

Это вернет истину для каждой строки, которая заканчивается ::, за которым следует целое число от 1 до 999999999999 включительно.

4
Gumbo 13 Сен 2010 в 21:18

Здесь это будет соответствовать строке, заканчивающейся на ::, за которой следуют 1–12 цифр.

/^.+::[1-9]\d{0,11}$/.test(stringToTest)

Это также проверяет, есть ли строка из хотя бы 1 символа до ::

Тесты:

FAIL: asdf
PASS: asdf::123
FAIL: asdf::
FAIL: asdf::0
PASS: asdf::999999999999
FAIL: asdf::9999999999999
FAIL: ::asdf
FAIL: ::999
2
CaffGeek 13 Сен 2010 в 21:23