정규식 패턴 supplied by the British government을 사용하여 영국 우편 번호를 확인합니다.전체 문자열과 정규식 일치
const postcodeRegex = /^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$/g;
console.log(postcodeRegex.test('s75ed')); // returns true
console.log(postcodeRegex.test('s75ed555555')); // returns false
console.log(postcodeRegex.test('555555s75ed')); // returns true
첫 번째 2 개 콘솔 로그가 올바른지,하지만 난 3가 false를 반환 할 것으로 예상 : 내 테스트는 현재 다음과 같습니다. 이 테스트는 패턴이 문자열 끝에 매치 될 때 true를 반환하지만, 문자열의 시작 부분에 모든 지껄 거리는 소리를 허용합니다. 이는 전체 문자열이 유효하지 않은 우편 번호임을 의미합니다.
패턴을 전체 문자열과 정확히 일치 시키려면 어떻게해야합니까? 우리는 약간의 공백 들여 쓰기를 추가하는 경우
은 영국 정부에서 직접 복사이 패턴인가 : 당신이
i
플래그를 추가하고 사례 중 하나를 제거한다면 당신은 꽤 비트에 의해 단순화 할 수 있을까? 그렇다면 제대로 테스트하지 않은 것이 놀랍습니다. o) – agrm@agrm 예 .gov 웹 사이트에 게시 된 문서에서 직접. 믿기지가 않지만 정부가하는 일입니다. – Coop
@agrm PDF에 대한 링크를 추가했습니다. – melpomene