정규 표현식에 문제가 있습니다.
이것은 내 코드입니다
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
나는 그것을 실행하고 얻는다 :
경고 : preg_match () [function.preg-match] : 끝 구분 기호 '^'가 없습니다.
답변:
PHP 정규식 문자열에는 구분 기호가 필요합니다. 시험:
$numpattern="/^([0-9]+)$/";
또한 0이 아닌 소문자 o가 있습니다. 또한 유효성 검사 만하는 경우 캡처 그룹이 필요하지 않으며 정규식을 /^\d+$/
.
참조 : PHP-구분 기호
[
및 ]
구분 기호를 사용하십시오 . 그렇지 않으면 패턴 자체와 충돌이 발생합니다.
정규식 패턴은 구분 기호에 있어야합니다.
$numpattern="/^([0-9]+)$/";
구분 기호가 필요없는 T-Regx 라이브러리를 사용할 수 있습니다.
pattern('^([0-9]+)$')->match($input);