입력 필드에 대한 간단한 확인 작업을하고 있습니다. 나는 사용자 입력을 검증하는 곳이 3 곳있다 : 자바 스크립트 정규식, html 패턴 및 PHP 정규식. 자바 스크립트와 PHP는 잘 작동하지만, HTML 패턴은 어떻게 든 에 대한 에러를 반환합니다. 입력 을 제외한 모든 부분이 오류를 반환합니다. 나는 regexpal.com (regex tester)에서 그것을 테스트했고, 거기에서 완벽하게 잘 작동한다. 그래서 나는 틀린 일을해야만한다고 생각한다. 수도 포함Regex 패턴이 제대로 작동하지 않습니다.
- 알파벳 문자,
- 숫자 문자 을
- Puncation : 느낌표 (I는 입력에 사용자가 다음과 같은 수 있도록하기 위해 노력하고있어
/^[a-zA-Z0-9\!\?\,\.\s]{0,50}$/
: 여기
내 정규식입니다 !), 질문 (?), 쉼표 (,) 및 점 (.) - 공백 내가 PHP와 함께 그것을 확인하기 때문에 0 문자를 입력 할 수있어, 입력 필드 (들)가/비어 :
<input type="text" id="name" name="name" aria-required="true" pattern="/^[a-zA-Z0-9\!\?\,\.\s]{0,50}$/" value="loaded value from db">
참고 : 여기에 16,
내가 그것을 구현하는 방법 미리 설정된 값이 데이터베이스에 기록됩니다.
기본적으로 사용자가 일반적인 단어 나 문장을 입력 할 수 있어야하지만 어떻게 든 허용하지 않습니다. "오류"가 발생하지 않는 유일한 방법은 입력란을 비워 두는 것입니다. 내가 도대체 뭘 잘못하고있는 겁니까? 내 정규식이 잘못 되었나요? 올바르게 구현하지 않습니까? 필요한 경우 더 많은 코드를 제공 할 수 있습니다.
도움을 많이 받으실 수 있습니다!
미리 감사드립니다.
잘못되었거나 문자 집합에'-' 만 필요하다고 인용하고 있습니까? 제 말은'/^[a-zA-Z0-9!?,. s] {0,50} $ /'을 읽으면 안됩니다. –
Escape \ 문자열'\\! \\? '정규식에 포함되어 있는지 확인 –