У меня есть шаблон регулярного выражения, которая проверяет на трехзначное числоJavascript RegEx частичное совпадение
/^\d{3}$/.test("123") // true
/^\d{3}$/.test("123.") // false
Я хочу использовать это регулярное выражение как ограничение входного сигнала на текстовое поле.
В принципе, если новое значение соответствует, я разрешаю символу набирать, иначе я его предотвращу.
Проблема заключается в том, что никакая ценность никогда не будет соответствовать, поскольку «1» не является полным совпадением и не позволит мне вводить его.
Каким образом можно проверить частичное соответствие для regEx в javascript?
/^\d{3}$/.test("123") // true
/^\d{3}$/.test("12") // "partial match"
/^\d{3}$/.test("a12") // false
РЕДАКТИРОВАТЬ
\ д {3} просто пример. Мне нужно использовать регулярное выражение для электронной почты или регулярное выражение для телефона в качестве ограничения ввода.
"email" // true
"[email protected]" // true
"[email protected]@" // false
"@yahoo.com" // false
РЕДАКТИРОВАТЬ 2
У меня есть TextBox плагин с ограничением входного основанный на регулярном выражении.
Регулярное выражение может быть любым, шестнадцатеричный цвет Regex, например: (#) {1} ([а-FA-F0-9]) {6}
мне нужно, чтобы предотвратить пользователю вставить символы, которые не соответствуют регулярному выражению.
Например, если текстовое поле пуст, первым допустимым символом будет «#».
Но если я тестирую символ «#» в отношении регулярного выражения, он вернет «false», потому что «#» сам по себе недействителен.
/^(#){1}([a-fA-F0-9]){6}$/.test("#") // false
Но в то же время, «#» является частичным недопустим, поскольку он уважает формат регулярных выражений (и я должен позволять пользователю вводить его)
Что мне нужно знать, если я могу проверить, если строка является частичным совпадением регулярного выражения, поэтому я могу позволить пользователю вводить символ.
/^(#){1}([a-fA-F0-9]){6}$/.test("#") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#0") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#00") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#000") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#0000") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#00000") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#000000") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#000000D") // is not a match, prevent typing
У вас есть ответ на ваши вопросы? – user153
Нет, нет ответа – Catalin
Я столкнулся с аналогичной проблемой :) – user153