http://regexlib.com/ 정규식을 사용하여 양식의 유효성을 검사하려고합니다. 내가하려는 것은 a-z, 쉼표 및 아포스트로피를 제외한 모든 문자를 필터링하는 것입니다. 이 코드를 사용하는 경우 :정규식에서 아포스트로피를 이스케이프?
<cfinput name="FirstName" type="text" class="fieldwidth" maxlength="90" required="yes" validateat="onsubmit,onserver" message="Please ensure you give your First Name and it does not contain any special characters except hyphens or apostrophes." validate="regular_expression" pattern="^([a-zA-Z'-]+)$" />
다음과 같은 오류가 나타납니다. 표현식에서 일치하지 않는 [].
<cfinput name="FirstName" type="text" class="fieldwidth" maxlength="90" required="yes" validateat="onsubmit,onserver" message="Please ensure you give your First Name and it does not contain any special characters except hyphens or apostrophes." validate="regular_expression" pattern="^([a-zA-Z-]+)$" />
그래서 내가 궁금하네요 정규 표현식을 사용하는 경우 어포 스트로피를 탈출하는 특별한 방법이 : 나는이 코드를 사용하는 경우 작동합니다 (그러나 아포스트로피를 허용하지 않는) 때문에이 아포스트로피 관련 알아 냈어?
편집
내가 문제가 (xanatos 덕분에) 발생되는 위치 내가 찾은 것 같아, 그것을 해결하는 방법을 잘. 기본적 CF는 다음과 같은 필드를 검증 숨겨진 필드를 생성한다 :
<input type='hidden' name='FirstName_CFFORMREGEX' value='^([a-zA-Z'-]+)$'>
를 그 값 둘레 단일 어포보다는 음성 마크를 사용하고 있기 때문에, 그 값의 단부와 아포스트로피를 해석한다.
아포스트로피가 특수 문자와 함께 접두사에 의해 표준 텍스트에서 탈출해야합니다 (이 작은 따옴표에 대한 코드의) : 그래서 그것을 변환 \ ', 시도 패턴 = "^ ([a-zA-Z \'-] +) $"HTH – John
@ 존 정말인가요? 그리고 그것은 무엇을 의미합니까? Regex "언어"에서 어떻게 사용됩니까? – xanatos
'try'라고 말하면 확실하지 않습니다. regex에는 많은 맛이 있으며, 태그가 지정된 표현식을 바꾸는 것은 실제로 Word 2002 프로그램에서 빠져 있습니다. – John