입력이 숫자인지 여부를 결정하기 위해 규칙 성을 사용하는 간단한 방법 :
input1 = '0281234567'; input2 = '0282345678'; var reg = /^/d+$/g; reg.test (input1); //truereg.test(input2); //거짓
두 번째 테스트 중에 반환 된 값이 올바르지 않다는 것을 알았습니다. 쓰기 오류, 값을 얻지 못하는 것 등과 같은 다양한 간섭 요소를 제외한 후, Reg의 두 번째 실행의 두 번째 실행 중에만 REG 규칙을 올바르게 실행할 수 없음을 발견했습니다. 이 문제를 전에 발생하지 않았으므로 관련 정보를 검색했습니다.
이 문제는 실제로 /g에 의한 것으로 밝혀졌으며, 나는이 규칙에 대해 실제로 /g를 잘못 사용한다는 것을 알았습니다. /g는 글로벌 매칭을 나타내므로, 마지막 경기 위치를 기록하기 위해 규칙을 판단 할 때 내부에 마지막 표시가 있습니다. 반복 통화되면 LastIndex가 계속 일치하여 판단 오류가 발생합니다. 원리를 이해하고 해결하면 분명합니다.
1. /g를 제거하고 /g가 필요하지 않은 경우, 마크를 추가하지 마십시오.
2. 두 번째 일치하기 전에, 마지막으로 마지막을 0으로 설정하십시오. 예를 들어 : reg.lastindex () = 0.
위는 귀하에게 소개 된 JavaScript에서 /g의 오용으로 인해 정기 테스트 ()를 올바르게 실행할 수없는 솔루션입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!