В контексте запроса, упомянутого в заголовке: «Регулярное выражение Javascript не работает» , пользователь столкнулся с проблемой, из-за которой регулярное выражение (regEx) постоянно возвращало значение false, независимо от входного значения. Фрагмент кода, предоставленный в запросе, выглядит следующим образом:
function checkLegalYear() {
var val = "02/2010";
if (val != '') {
var regEx = new RegExp("^(0[1-9]|1[0-2])/\d{4}$", "g");
if (regEx.test(val)) {
//do something
}
else {
//do something
}
}
}
Пользователь попытался проверить введенные данные о году с помощью регулярного выражения и получил неожиданные результаты. Несмотря на тестирование этого кода в нескольких онлайн-редакторах, RegEx продолжал возвращать false.
Решение проблемы:
Корень проблемы заключается в методе, используемом для создания объект RegEx. При определении RegEx из строки символы обратной косой черты должны быть удвоены, чтобы предотвратить неправильную интерпретацию во время процесса анализа. Чтобы исправить это, следует использовать следующий код:
var regEx = new RegExp("^(0[1-9]|1[0-2])//\\d{4}$", "g");
В качестве альтернативы рекомендуется использовать синтаксис RegEx напрямую, что исключает необходимость удвоения обратной косой черты:
var regEx = /^(0[1-9]|1[0-2])//\\d{4}$/g;
Благодаря реализации этих изменений RegEx теперь должен функционировать должным образом, проверяя входные данные года и предоставляя точные данные. результаты.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3