2013-04-15 3 views
1

입력 필드에 대한 간단한 확인 작업을하고 있습니다. 나는 사용자 입력을 검증하는 곳이 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,

내가 그것을 구현하는 방법 미리 설정된 값이 데이터베이스에 기록됩니다.

기본적으로 사용자가 일반적인 단어 나 문장을 입력 할 수 있어야하지만 어떻게 든 허용하지 않습니다. "오류"가 발생하지 않는 유일한 방법은 입력란을 비워 두는 것입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 내 정규식이 잘못 되었나요? 올바르게 구현하지 않습니까? 필요한 경우 더 많은 코드를 제공 할 수 있습니다.

도움을 많이 받으실 수 있습니다!

미리 감사드립니다.

+0

잘못되었거나 문자 집합에'-' 만 필요하다고 인용하고 있습니까? 제 말은'/^[a-zA-Z0-9!?,. s] {0,50} $ /'을 읽으면 안됩니다. –

+0

Escape \ 문자열'\\! \\? '정규식에 포함되어 있는지 확인 –

답변

2

입력의 패턴 속성에서 슬래시 (/)를 제거해보십시오.

+0

왜 내가 전에 이것을 알아 차리지 못했습니까? 신기한 실수는 내 편이지만, 어쨌든 도와 줘서 고마워! –

관련 문제