2014-01-05 3 views
0

정규식을 jQuery 유효성 검사와 함께 사용하는 데 문제가 있습니다. 나는 8 자 이상 일치하는 데 필요한 간단한 정규식을 가정 :jQuery 유효성 검사에서 정규 표현식이 작동하지 않습니다.

(?=.{8,}) 

JavaScript-based regular expression tester에 플러그인이, 그것은 잘 작동합니다. 8 자 이상 일치, 7 자 이하는 일치하지 않습니다. 나는 C#에서이를 테스트하는 경우

또한, 그것은뿐만 아니라 작동합니다

 var regex = new Regex(@"(?=.{8,})"); 
     if (regex.IsMatch(myInput)) 
     { 
      // Hits this code when myInput >= 8 characters 
     } 

다음, 나는 사용자의 입력이 표현과 일치하는지 확인하기 위해 jQuery를 확인을 방출 뷰 모델의 ValidationAttribute를 사용

[RegularExpression(@"(?=.{8,})", ErrorMessage="Does not match.")] 
    public string MyInput { get; set; } 

이 시점에서 분해됩니다. 입력란에 무엇을 입력해도 일치하지 않습니다. 방출 된 HTML은 다음과 같습니다.

<input data-val="true" data-val-regex="Does not match." 
      data-val-regex-pattern="(?=.{8,})" id="MyInput" name="MyInput" 
      type="text" value="" /> 

나는 다른 정규식을 시도했지만 아무 소용이 없습니다. 내가 간과하고있는 jQuery 유효성 검사에서 정규 표현식에 대해 다른 점이 있습니까?

답변

1

은 어쩌면이 작품이 도움이

RegularExpression(@"^.{8,}$") 

희망을. 환호

+0

흥미 롭습니다. 이 정규식은 웹 페이지에서 작동하지만 서버 코드에서는 실패합니다. 기본적으로 내 원래 문제의 반대. 마치 두 개의 다른 정규 표현식에 입력을 일치시켜야합니다. 하나는 브라우저에, 다른 하나는 서버에서 유효성을 검사하는 것입니다. 이상한. –

+0

흠, 이상합니다. 'RegularExpression (@ ". {8,}")은 어떻습니까? –

+0

방금 ​​C#을 테스트하고 대답의 정규 표현식이 작동합니다. 다른 곳에서 실수하지 않니? –

관련 문제