2011-01-17 2 views
0

내 사용자는 코드라는 문자열이있는 쿠키가 있으며 코드는 임의의 숫자 또는 6 ~ 15 자 사이의 문자 일뿐입니다. 코드를받은 후 코드의 길이가 6 ~ 15 자이고 숫자와 문자 만 포함되어 있는지 확인하려면 어떻게해야합니까?PHP는 정규식을 사용하여 데이터 입력을 확인합니다.

정규 표현식을 사용하는 것이 가장 좋습니다. 내가 좋아하는 뭔가를 시도 할 것

답변

1

이렇게하는 방법에는 두 가지가 있습니다. 하나는 정규 표현식을 사용하고 있습니다 :

$length = strlen($cookie); 
if (6 <= $length && $length <= 15 && preg_match('/^[a-zA-Z0-9]*$/', $cookie)) { 
    //... 
} 

(문자열 알파 숫자입니다 만들기 확인) 내장 정확히 수행 ctype_alnum 기능이 사용하고 다른 :

$length = strlen($cookie); 
if (6 <= $length && $length <= 15 && ctype_alnum($cookie)) { 
    //... 
} 
0

: ^([a-zA-Z]|\d){6,15}$

"시작과 문자열의 끝 사이는 6 사이 15 자, 그들 각각의 문자 나 숫자가 있습니다."

그리고, 오, 당신이 필요로하는 기능은 preg_match()

0

PHP의 정규식 꽤 빠른이며,이 간단한 선택의 예이다 :

"/^[a-zA-Z0-9]{6,15}$/" 

그러나 @amosrivera했다 권리에 대한 strlen 빠르다 . 쿠키 데이터가 페이지 (echo $_COOKIE['key'];)에 연결되어있는 경우 사용자는 자신의 페이지에만 해를 끼칠 수 있으므로 XML 엔터티는 중요하지 않습니다. 쿠키가 데이터베이스에 저장되어 있고 모든 사용자에게 표시되는 경우 다른 것으로 간주됩니다.

관련 문제