기본적으로 텍스트 상자의 설명은 'and'단어를 제외하고 3 단어보다 커서는 안됩니다. 나는 잘 작동하는 C#에서 다음 서버 쪽 유효성 검사를 구현했습니다.자바 스크립트에서 C# 서버 쪽 유효성 검사를 복제하십시오.
if (Desc.Trim().ToString() != "")
{
MatchCollection collection = Regex.Matches(Desc.Replace("and", ""), @"[\S]+");
if (collection.Count > 3)
{
ErrorMsg.Append("Description should contain at most 3 words(excluding 'and').");
ErrorMsg.Append("\\n");
}
}
그러나 Javascript에서 동일한 작업을하는 데 문제가 있습니다. 나는 다음을 시도했다. 그러나 자바 스크립트에 대한 더 나은 지식을 가진 누군가가 오류를 볼 수 있기를 바란다. if가 페이지에서 실행되는 더 큰 유효성 검사 함수의 일부임을 유의하십시오. 경고는 if가이 경우에 발생했는지 여부를 확인하기위한 것입니다 (이 경우는 그렇지 않습니다). - 블록이 제거되면 페이지의 나머지 JS가 제거됩니다. 잘 작동합니다.
if (Desc.val().trim() != "")
{
alert('1');
!regexWordRule.test(Desc.val());
alert('2');
if (Desc.val().match(regexWordRule).length > 3)
{
errorText += "Description should contain at most 3 words(excluding 'and').";
}
valid = false;
}
아래는 js 파일 맨 위에 정의 된 regexWordRule입니다.
var regexWordRule = /[\S]+/;
위대한 작품 - 많은 감사합니다. 내 이해를 위해 제거 및 검색에서 \ b를 설명 할 수 있습니까? –
\ b는 단어 경계와 일치합니다. 여기에서는 독립 실행 형 단어 'and'를 제거하고이를 포함하는 단어 (예 : 밴드, 풍경 등)에서 하위 문자열 만 제거합니다. @ Dima의 답변도 참고하십시오. 원격 검증은 고려해야 할 가치가 있습니다. –