텍스트 상자의 내용을 250단어로 제한하고 싶습니다. 이를 달성하기 위해 joi 유효성 검사를 사용하고 있습니다. 모든 문자(특수 문자 포함)를 계산해야 하며 250단어만 허용합니다. 그러나 다음과 같은 문제에 직면했습니다.
<올>첫 번째 특수 문자가 나오자마자 3단어 후에도 "이 섹션은 250자를 초과할 수 없습니다"라는 조이 유효성 검사 오류가 발생합니다.
PDF에서 콘텐츠를 복사하여 붙여넣으면 화면이 정지됩니다. 그래서 내 조이 스키마에 문제가 있는 것 같아요.
description1: Joi.string().regex(/^(([ws,."'()-]+)b[s,.] *){0,250}$/).options({ 언어: { string: { regex: { base: '이 부분은 250자를 초과할 수 없습니다.' } } } }).label("이 부분"),< ;누구든지 저를 도와주실 수 있나요?
이 방법이 효과가 있을 수 있습니다:
으아악는 원래 정규식에서
[a-zA-Z0-9_]
的w
不同,特殊符号S
匹配任何非空格字符。因为字符集S
和s
를 일치시키는 것과 완전히 다르기 때문에 치명적인 역추적과 관련된 문제를 피해야 합니다.설명:
s*
시작 부분에 공백이 0개 이상 있습니다. 이것들은 계산되지 않습니다.(S+s+)
공백이 아닌 문자 1개 이상과 공백 문자 1개 이상으로 구성된 단어입니다.{0,249}
최대 249회 반복S*
선택적으로 끝에 추가 단어를 추가하세요. 공백으로 끝나서는 안 됩니다. 이것은 250번째 단어이므로 위의 줄 수는 250이 아닌 249가 되어야 합니다.마지막 단어 길이만큼만 뒤로 돌아가기 때문에 마지막 단어가 너무 길면 속도가 느려질 수 있습니다. 그러나 성장은 기하급수적으로 이루어질 수 없으므로 Joi가 붕괴되는 원인이 되어서는 안 됩니다.