문제

Yahoo의 사용자 이름 규칙과 일치하려면 (PHP) Regex가 필요합니다.

4 ~ 32 자를 사용하고 편지로 시작하십시오. 문자, 숫자, 밑줄 및 하나의 점 (.)을 사용할 수 있습니다.

도움이 되었습니까?

해결책

/^[A-Za-z](?=[A-Za-z0-9_.]{3,31}$)[a-zA-Z0-9_]*\.?[a-zA-Z0-9_]*$/

또는 조금 더 짧은 :

/^[a-z](?=[\w.]{3,31}$)\w*\.?\w*$/i

다른 팁

/[a-zA-Z][a-zA-Z0-9_]*\.?[a-zA-Z0-9_]*/

strlen ($ username)> = 4 및 <= 32인지 확인하십시오.

하나의 도트 한계? 까다 롭습니다.

나는 Regex Expert가 아니지만, 이것을 제외하고는 그것을 얻을 것이라고 생각합니다.

[A-Za-z][A-Za-z0-9_.]{3,31}

어쩌면 당신은 그것을 확인할 수 있습니다. 요구 사항 별도?

Lookaheads를 사용하여 다음을 수행 할 수 있습니다.

^(?=[A-Za-z](?:\w*(?:\.\w*)?$))(\S{4,32})$

어떤 유형의 regex를 지정하지 않았기 때문에, 나는 Perl 5 호환 물건을 많이 추가했습니다. 처럼 (?: ... ) 캡처되지 않은 파렌의 경우.

메모: 누락 된 Close Paren을 다시 추가했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top