php 영어와 숫자랑 _만 되게 채택완료

따로 만드는게 있는데요..

회원가입 할 때 아이디를 영어,숫자 _만 되게 하고 싶은데

영어랑 숫자만 되게 하는건

$check_id=preg_match("/^[a-zA-Z0-9]+$/", $userid);

이렇게 하면 되던데

_도 되게 하려면 어떻게 해야할까요..?

답변 3개

채택된 답변
+20 포인트

$check_id=preg_match("/^[a-zA-Z0-9_]+$/", $userid); 이렇게 하면 됩니다. 즉 _캐릭을 더 삽입하면 됩니다.

그리고 좀 더 간단하게는 대소문자구분을 하지 않게 하면 됩니다.

Copy
$check_id=preg_match("/^[a-z0-9_]+$/i", $userid);

!를 사용하면 대소문자 구분없이 매칭이 되더라구요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Copy
$check_id=preg_match("/^[a-zA-Z0-9_]+$/", $userid);

 

// 테스트코드

$array = array('sandbox', 'sandbox2','_sandbox', 'sandbox_',
                '11111','a11111','11111a','a_11111',
              );
              
foreach( $array as $k => $v ){
    $userid = $v;
    $check_id=preg_match("/^[a-zA-Z0-9_]+$/", $userid);
    
    echo $v. ': ' .$check_id. "\n";
}
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

https://darkcity1.tistory.com/33

이거 찾으시는건가요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고