문제

텍스트 상자의 단어 수를 제한하기 위해 asp.net regularexpressionvalidator를 사용하고 싶습니다. (Regularexpressionvalidator는 클라이언트 및 서버 측 점검을 모두 수행하기 때문에 내가 선호하는 솔루션입니다).

그렇다면 단어를 계산하고 단어 제한을 시행 할 레 곡선 척보 발리 디터에 넣을 수있는 올바른 동정인은 무엇입니까? 말하자면, 150 단어.

(NB : 나는 그것을 본다 이 질문 비슷하지만, 주어진 답변은 Split ()와 같은 코드에 의존하는 것처럼 보이므로, 그 중 어느 것도 regularexpressionvalidator에 연결할 수 없다고 생각합니다.

도움이 되었습니까?

해결책

부터 ^ 그리고 $ ~이다 regularexpressionvalidators와 함께 암시 적으로 설정합니다, 다음을 사용하십시오.

(\S*\s*){0,10}

여기서 0은 빈 줄 (더 구체적으로 0 단어)을 허용하고 150은 수락 할 최대 단어 수입니다. 수용된 단어 수를 늘리거나 줄이기 위해 필요에 따라 조정하십시오.

위의 정규식은 비 게리이므로, 당신이 참조하는 질문에 주어진 더 빠른 매치 구절을 얻을 수 있습니다. (\b.*\b){0,10} 욕심이 많으므로 단어의 수를 늘리면 성능이 감소합니다.

다른 팁

다음은 정규 표현식에 대한 빠른 참조입니다.http://msdn.microsoft.com/en-us/library/az24scfc.aspx

이 사이트를 사용하여 표현식을 테스트 할 수 있습니다.http://regexpal.com/

다음은 최소 및 최대 단어 수와 함께 작동하는 REGEX 예입니다 (주요 간격으로 버그를 수정).

^\s*(\S+\s+|\S+$){10,150}$

이 사이트 확인 :

http://lawrence.ecorp.net/inet/samples/regexp-validate.php#count

JavaScript Regex이지만 Asp.net과 매우 유사합니다.

다음과 같은 것 :

( b [a-z0-9]+ b.*) {4,}

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top