2012-02-11 3 views
0

누군가가이 자바 스크립트를 다시 작성할 수 있습니까? 1 정규식 만 (이메일에서 하나)자바 스크립트 정규식이 작동하지 않습니다.

이전 질문 작동하는지 문제는 지금 : 여기 조언을 얻었다 link 을하지만 난 내 코드에 좋지 않다 넣어 생각

function checkform (form) 
{ 
    var rex = /[^a-z]/i; 
    var regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 

    if (!regex.test(form.email.value)) 
    { 
     alert("Please enter youre valid email address."); 
     form.email.focus(); 
     return false ; 
    } 

    if (rex.test(form.name.value)) 
    { 
     alert("Please enter your name. no numbers or #$^& things allowed)."); 
     form.name.focus(); 
     return false ; 
    } 

    return true ; 
} 
+1

를 작성하는 의미? '/ [^ a-z]/i' 패턴은 알파벳이 아닌 문자와 일치해야합니다. 테스트를 위해 어떤 입력을 사용하고 있습니까? –

+0

다음을 읽어주십시오. http://stackoverflow.com/questions/46155/validate-email-address-in-javascript – cha0site

+0

그 뒤에있는 마지막 +를 제거해야합니다. ([a-zA-Z0-9] {2,4 }) +'tld-block으로, 기본적으로 2 문자보다 큰 모든 접미사를 가질 수 있습니다. 하지만 거기에 문제가 있어서는 안된다. Btw, 귀하의 RegExp가 대부분의 요구 사항을 충족시켜야한다고하더라도, 당신은 [이 페이지] (http://www.ex-parrot.com/pdw/)에서 확인할 수있는 _real_ 전자 메일 유효성 검사 RegExp를보고 싶을 수도 있습니다. Mail-RFC822-Address.html) – Tharabas

답변

0

두 양식 필드가 동일한 방식으로 동작하기를 원한다면, 첫 번째 양식 필드는 음수로 테스트됩니다.

당신은 이메일을 하나 개의 작품을했다, 그래서 아마 당신은 제대로 작동하지 않는 무엇 if (! rex.test(for.name.value))

-1

이 방법에 대해 .

"^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})$" 
+0

OP는 그의 이메일 RegEx가 작동하고 있다고 말했습니다. –

+0

지금 모든 것을 테스트하고 있습니다. – JochemQuery

관련 문제