테스트 사이트 - 개발 중인 베타 버전입니다

정규표현식 문의합니다

· 15년 전 · 1000 · 1
member/basic/ajax_mb_id_check.php 에보면 아이디체크하는부분이 있는데요



(preg_match("/[^0-9a-z_]+/i", $reg_mb_id))



[^0-9a-z_] 이것중에서 ^이면 부정을 뜻한다고 하는데 여기서는 왜 긍정이 되는것인지요?


제가 하려고 하는것은 첫글자가 영문자이고 나머지는 영문,숫자를 섞어쓸 수 있고

아이디의 길이는 10자로제한하는 정규식을 만들려고 하는데요.

(preg_match("/^[A-Za-z]+[A-Za-z0-9]{1,9}+/i ", $reg_mb_id)) 이렇게 하는데 안되네요

이상한 팝업이 뜨면서 오류가 나네요

댓글 작성

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

로그인하기

댓글 1개

이상한 팝업이 뜨면서 오류가 나는 것을 알려주셔야 뭐가 잘못된 것인지 금방알텐데요..
하여튼 왜 긍정이 되는것인지요?<--긍정이 되는게 아닙니다
숫자나 영문자가 아니면 유효하지않은 아이디라는 것인데요?

10자로 제한한다고 {1,9}를 넣으면 안됩니다 앞에서 asdfhhjkllqwerty 이렇게 영문자를 많이 넣어도
통과니까요

if(strlen($reg_mb_id)<11 && preg_match("/^[a-z]+[a-z0-9]+/i ", $reg_mb_id) ) echo 'ok';
else echo 'no';

게시글 목록

번호 제목
284508
284499
284492
284490
284484
284481
284478
284476
284474
284472
284470
284458
284457
284454
284453
284447
284446
284444
284441
284440