2014-10-11 2 views
0

나는이 표현asp.net mvc에서 데이터 주석을 사용하여 RegEx 일치를 무효화하는 방법은 무엇입니까?

[RegularExpression(@"(https?://)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*/?", ErrorMessage = "Message cannot contain urls")] 

그것은 예상대로 URL을 감지있다, 그러나 나는 그것을 반대 할 필요가있다. 입력란에 URL을 입력하지 않은 경우 유효성 검사는 경고입니다. URL과 링크가 허용되지 않는다는 것을 발견하면 경고 메시지가 필요합니다.

답변

1
^(?!.*?(https?://)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*/?).*$ 

T로 수정해야 abc

일치 않습니다 이거 야. 이건 URL과 일치하지 않을거야. 데모 해.

http://regex101.com/r/vR4fY4/8

0

사용 부정적인 내다 ?!

예를 들어 (?!abc)

일치 결과 hello하지만 그래서 당신의 정규식

"^(?!(https?://)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*/?)$" 
+0

안녕하세요, 이제는 URL과 일치하지만 다른 모든 항목도 일치합니다. 이제 일반 텍스트를 작성하면 유효성 검사가 시작됩니다. 어떤 제안? – WPalombini

+0

앵커가 누락되었습니다. 죄송합니다. – nu11p01n73R

+0

도움을 주셔서 감사합니다. 다른 답변은 예상대로 작동했습니다. 어쨌든 고마워. – WPalombini