입력 문자열 길이 및 특수 문자를 제어하기 위해 일반 표현식을 사용하여
이 기사는 일반 표현식을 사용하여 입력 문자열을 검증하는 데 어려움을 겪고, 특히 문자열 길이를 제한하고 특수 문자를 제외하는 데 중점을 둡니다. 앵커에서 정량기를 사용하는 일반적인 접근법은 종종 전체 길이를 정확하게 제한하지 못합니다.
솔루션 : 긍정적 인 전망 어설
가장 효과적인 솔루션은 정규 표현의 시작 부분에서 긍정적 인 전망대 주장을 사용합니다.
이 표현을 세분화합시다 :
: 문자열의 시작과 일치합니다
: 이것은 긍정적 인 전망 주장입니다. 는 Lookahead Syntax입니다. 는 모든 문자 ()와 일치합니다 (는 문자열의 끝과 일치합니다. 이 전체 섹션 > 는 문자열이 경기에서 문자를 소비하지 않고 1 ~ 15 자 사이에 있다고 주장합니다.
: 영숫자가 0 개 이상 일치합니다
: 지정된 특수 문자 세트에서
not 인 0 개 이상의 문자와 일치합니다.
: 문자열의 끝과 일치합니다
룩 하이드가 중요한 이유
앵커 ( 및
)에서 직접 정량화기를 사용하는 것은 바로 앞 요소 만 수정하기 때문에 효과가 없습니다. 그러나 룩보드 어설 션은 표현식의 나머지 부분이 평가되기 전에 전체 문자열의 길이 를 점검하여 정확한 길이 제어를 보장합니다.
잠재적 문제 해결
<code>^(?=.{1,15}$)[a-zA-Z0-9]*[^$%^&*;:,?()""']*$</code>
newlines : 입력에 Newline 문자가 포함될 수 있다면, 를 포함하여 - 를 교체하여 NewLines를 포함하여 모든 문자와 일치하도록합니다.
길이 조정 :
^
Quantifier는 필요에 따라 최대 문자열 길이를 쉽게 조정합니다.
이 개선 된 접근 방식은 정규 표현식을 사용하여 입력 문자열을 검증하고 길이를 효과적으로 제한하고 특수 문자를 동시에 제한하는 강력하고 정확한 방법을 제공합니다.
위 내용은 특수 문자를 제한하면서 정규 표현식을 사용하여 입력 문자열의 길이를 어떻게 제한 할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!