정규표현식 문의합니다 정보
정규표현식 문의합니다본문
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)) 이렇게 하는데 안되네요
이상한 팝업이 뜨면서 오류가 나네요
(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)) 이렇게 하는데 안되네요
이상한 팝업이 뜨면서 오류가 나네요
댓글 전체
이상한 팝업이 뜨면서 오류가 나는 것을 알려주셔야 뭐가 잘못된 것인지 금방알텐데요..
하여튼 왜 긍정이 되는것인지요?<--긍정이 되는게 아닙니다
숫자나 영문자가 아니면 유효하지않은 아이디라는 것인데요?
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';
하여튼 왜 긍정이 되는것인지요?<--긍정이 되는게 아닙니다
숫자나 영문자가 아니면 유효하지않은 아이디라는 것인데요?
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';