네트워크 검색 도구는 입력에 대해 귀찮게 선택하기 때문에 부적절한 문자가 포함되어 있거나 형식이 올바르지 않은 IPv4 주소를 입력하면 즉시 충돌이 발생합니다.
IPv4 주소는 마침표로 구분 된 4 개의 숫자로 작성된 32 비트 숫자 주소 입니다. 각 숫자는 0에서 255까지 가능 합니다.
이러한 충돌을 피하기 위해 입력 을 사전 검증 하는 도구를 작성해야하며 특정 도구는 까다 롭습니다. 유효한 형식은 다음과 같습니다 a.b.c.d
. a, b, c 및 d :
- 선행 0
0
이 없는 자연수이거나 자연수 일 수 있습니다 . - 0-255 (포함) 사이 여야합니다.
- 해야 하지 같은 특수 기호를 포함
+
,-
,,
, 등을. - 십진수 여야합니다 (base
10
)
입력 : 문자열
출력 : Truthy 또는 Falsey 값 (임의의 값도 허용됨)
테스트 사례 :
Input | Output | Reason
| |
- 1.160.10.240 | true |
- 192.001.32.47 | false | (leading zeros present)
- 1.2.3. | false | (only three digits)
- 1.2.3 | false | (only three digits)
- 0.00.10.255 | false | (leading zeros present)
- 1.2.$.4 | false | (only three digits and a special symbol present)
- 255.160.0.34 | true |
- .1.1.1 | false | (only three digits)
- 1..1.1.1 | false | (more than three periods)
- 1.1.1.-0 | false | (special symbol present)
- .1.1.+1 | false | (special symbol present)
- 1 1 1 1 | false | (no periods)
- 1 | false | (only one digit)
- 10.300.4.0 | false | (value over 255)
- 10.4F.10.99 | false | (invalid characters)
- fruit loops | false | (umm...)
- 1.2.3.4.5 | false | (too many periods/numbers)
- 0.0.0.0 | true |
- 0.0 0.0. | false | (periods misplaced)
- 1.23..4 | false | (a typo of 1.2.3.4)
- 1:1:1:1:1:1:1:1| false | (an IPv6 address, not IPv4)
이것은 code-golf 이므로 가장 적은 바이트가 이길 것입니다!
사용자를위한 참고 사항 -테스트 사례를 더 추가하려면 편집 제안을 환영합니다. 그러나 테스트 사례가 반복되지 않도록하십시오! 감사
1.1.1.1.1
,1.1.1.1.
,.1.1.1
,1..1.1
,1..1.1.1
,1.1.1.0
,1.1.1.-0
,1.1.1.+1
,1.1.1.1E1
,1.1.1.256
,1.1.1.0x1
,255.255.255.255
,0.0.0.0
,'or 1=1--
,<empty string>
,1 1 1 1
,1,1,1,1
.