제목에 참조된 쿼리의 맥락에서 "Javascript RegEx Not Working ," 정규식(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를 사용하여 연도 입력의 유효성을 검사하려고 시도했지만 예상치 못한 결과가 발생했습니다. 여러 온라인 편집기에서 이 코드를 테스트했음에도 불구하고 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