문제

Regex (그리고 선호하는)로 이름/패스 등을 확인 해야하는 등록 시스템을 만들고 있습니다. 지금까지 얻은 것은 다음과 같습니다.

//Check so numbers aren't first, such as 00foobar
preg_match('/^(?!\d)[a-z0-9]+$/iD',$usrname);
//Just simple check
preg_match('/^[a-zA-Z0-9]+$/',$psword);

그러나 나는 다음과 같은 if 진술에서 바보 같은 일을해야합니다.

if strlen($psword) > 30 || if (strlen($psword) < 4) ....

두 개의 원래 정규 표현식 진술에서 길이 검사를 어떻게 구현합니까? 이것은 나를 너무 행복하게 할 것입니다 ..

도움이 되었습니까?

해결책

동일하지만 단어와 숫자에 w와 d를 사용하지만 다음과 같은 기본 기호도 포함하고 싶을 수도 있습니다. %!?/ ... etc...

preg_match('/^[\w\d]{4,30}$/',$psword);

그만큼 {n,v} 이전에 최소 N 및 최대 V 요소에 대해 검증됩니다.

처럼 A{2,3} 검증 할 것입니다 AA 그리고 AAA. 당신은 볼 수 있습니다 거기 더 많은 참고 문헌

최소의 patern을 설정하려면 같은 방식으로 {n,} 할 것입니다. 예를 들어:

preg_match('/^[\w\d]{4,}$/',$psword);

다른 팁

나는 이것이 트릭을 수행해야한다고 생각합니다.

preg_match ( '/^[a-za-z0-9] {4,30} $/', $ psword);

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