2016-09-23 16 views
0

전자 메일 입력의 유효성을 검사하기 위해 1000hz 부트 스트랩 검사기를 사용하고 있으며 정규 표현식 @에서 '@'문자를 이스케이프 처리 할 수 ​​없습니다. 누구나 아이디어가 있습니까?Regex에서 @ 문자를 이스케이프 처리합니다.

@@, @ ('@') 또는 16 진수 코드 (@)를 사용해 보았습니다. 내가 V53에 구글 크롬을 업데이트 할 때까지 16 진수 잘 작동되었고, 지금은 더 이상 여기에

유효하지 않은 것은 내 입력입니다 : 또한

<input type="text" pattern="^[a-zA-Z0-9\.\_%+-]+&#64;[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}" required data-error="Enter a valid email address" name="contractor-email" class="form-control" placeholder="e.g. [email protected]" /> 

, 크롬 다음과 같은 오류 메시지가 발생합니다 : validator.min.js를 : 패턴 속성 값^[a-zA-Z0-9 ._ % + -] + @ [a-zA-Z0-9 .-] +. [a-zA-Z] {2,4}는 유효하지 않습니다. 정규 표현식 : Uncaught SyntaxError : 유효하지 않은 정규 표현식 : /^[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.-]+.[a-a-AA-Z]{2 , 4}/: 유효하지 않은 이스케이프

미리 감사드립니다.

+2

왜 "탈출"해야합니까? '@'는 특수 문자가 아닙니다. + [a-zA-Z0-9 \. \ _ % + -] + @ [a-zA-Z0-9 \. \ -] + \. [a-zA-Z] { 2,4} "'직장? [pattern = "[\ w. % + -] + @ [a-zA-Z0-9 .-] + \. [a-zA-Z] {2,4}"로 쓸 수도 있습니다. 탈출은 중복되고'[a-zA-Z0-9_]'='\ w'입니다. 또한 패턴은 기본적으로 고정되어 있습니다 –

+0

@ WiktorStribiżew '@'는 면도칼 C# mvc의 특수 문자이므로,이를 도말해야합니다. – vegas2033

+0

그런 다음 '\\ x40'또는 '\\ u0040'으로 바꾸십시오. 더블 이스케이프''\''에 관해서는 확실치 않습니다. 아마도 하나만 할 것입니다. 둘 다 확인하십시오. –

답변

0

나는 그것이 가장 좋은 방법 있는지 알고 있지만, 사용하지 않는 @ ("@")는이 오류가 '@'기호에서하지만 방법에 대해 아니라고 밝혀 그래서

+0

이전에 시도했지만 대부분의 브라우저에서 작동하지만 Chrome V53에서는 작동하지 않습니다. – vegas2033

+0

이상하게 보입니다. 53.0.2785.116 버전을 사용하고 있습니다. –

0

작동 I 내 정규식의 첫 번째 요소에서 문자를 이스케이프 처리했습니다. 다음 정규식이 작동합니다 : ^[a-zA-Z0-9%+-\._]+&#64;[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}.

도움을 주신 분께 감사드립니다.

관련 문제