2013-08-02 3 views
0

스크립팅이나 코딩에별로 좋지 않으므로 어리석은 질문 인 경우 정말 미안합니다.자바 스크립트 - 양식 - 숫자 및 이메일 확인

<form name="userinfo" action="validform.html" method="post" onsubmit="return validateForm()"> 
    <fieldset> 
     <legend>Personal Information</legend><br /> 

     <label for="firstname">First Name:</label> 
     <input type="text" id="firstname" name="firstname"> 
     <span id="firstname_required"></span><br /> 

     <label for="surname">Surname:</label> 
     <input type="text" id="surname" name="surname"> 
     <span id="surname_required"></span><br /> 

     <label for="tel">Tel No:</label> 
     <input type="tel" id="tel" name="tel"> 
     <span id="tel_required"></span><br /> 

     <label for="email">Email:</label> 
     <input type="email" id="email" name="tel"> 
     <span id="email_required"></span><br /> 

     <label for="password">Password:</label> 
     <input type="password" id="password" name="password"> 
     <span id="password_required"></span><br /> 

     <label for="submit"></label> 
     <input type="submit" value="Submit!"> 
    </fieldset> 
</form> 

형태가 잘 작동 :

나는 양식을 가지고있다.

0-9 사이의 숫자 만 입력 할 수 있도록 Tel No를 확인하고 싶습니다. 나는 길이에 관해서 걱정하지 않는다. 사용자가 숫자를 입력하도록하고 싶습니다. 그런 다음 확장 할 수 있습니다. 여기 내 코드입니다 : 나는 내 다른 근본적으로 뭔가 문제가 의심

function validateNumber() 
{ 
     var a=document.forms["userinfo"]["tel"].value; 
     var patt=new RegExp("[0-9]"); 

     if (a==null || a=="") 
     { 
     document.getElementById('tel_required').innerHTML="required"; 
     } 
     else if (patt==null || patt !== RegExp) 
     { 
      document.getElementById('tel_required').innerHTML="numbers only allowed"; 
     } 
} 

if 문 ((패티 == null이 || 패티 == 정규식)!) 또는도 제대로 구축, 아니면 것을 사용자들은 심지어 다른 if 문이 될지도 !! 그러나 나는 심지어 내 머리 속에 논리가 옳은 것처럼 보이지 않는다.

도움이 될 것입니다. 감사합니다. 그리고 이것이 어리석은 질문이라면 다시 미안합니다.

Novocaine88가 말한대로
function validateForm() 
    { 
     var a=document.forms["userinfo"]["firstname"].value; 

     if (a==null || a=="") 
       { 
        document.getElementById('firstname_required').innerHTML="required"; 
       } 


     var a=document.forms["userinfo"]["surname"].value; 

     if (a==null || a=="") 
      { 
       document.getElementById('surname_required').innerHTML="required"; 
      } 

validateNumber() 
validateEmail() 


     var a=document.forms["userinfo"]["password"].value; 

     if (a==null || a=="") 
      { 
       document.getElementById('password_required').innerHTML="required"; 
       return false; 
      } 

    } 

function validateNumber() 
{ 
var a=document.forms["userinfo"]["tel"].value; 
var patt=new RegExp("[0-9]"); 

if (a==null || a=="") 
      { 
       document.getElementById('tel_required').innerHTML="required"; 
      } 

if (patt==null || patt !== RegExp) 
      { 
       document.getElementById('tel_required').innerHTML="numbers only allowed"; 
      } 
} 


function validateEmail() 
{ 
var a=document.forms["userinfo"]["email"].value; 
var patt=new RegExp("/^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"); 

if (a==null || a=="") 
      { 
       document.getElementById('email_required').innerHTML="required"; 
      } 
} 
+0

입력 상자에 액션이 입력 될 때마다이 함수를 호출한다고 가정하면 상자 안의 입력이 찾고자하는 것과 일치하면 내부 HTML을 지우는 것입니다. – Novocaine

+0

음에 제한되어서는 안 중 하나 있음을 유의 – Jayson

+0

정규식을 테스트하지 않고있다 –

답변

1

당신이 HTML5있을만큼 운이 좋은 경우에, 당신이 입력 유형을 시도 = 수를 행동의 HTML5 버전을 볼 수

<input type="number"> 

멀리 얻을 수 있습니다. 코드 아래에 다른

시도

function validateNumber() 
{ 
     var a=document.forms["userinfo"]["tel"].value; 

     if (a==null || a=="") 
     { 
     document.getElementById('tel_required').innerHTML="required"; 
     } 
     else if (/[^\d]/.test(a)) 
     { 

      document.getElementById('tel_required').innerHTML="numbers only allowed"; 
     } 
    else { 
     document.getElementById('tel_required').innerHTML="input OK"; 
     } 
    } 
당신은 대부분의 사람들이, 난 전화 번호는 공백이나 다른 비 0-9 문자를 입력, 따라서 0-9
+0

고맙습니다.하지만이 코드는 작동하지 않습니다. – Simon

+0

사실, 나는 당신의 코드를 가지고 다른 것을 가지고 있으며 텍스트를 입력하면 "숫자 만 허용됨"이라는 메시지가 나타납니다 !!!! 조금 더 가까이에 나는 생각한다!! – Simon

+0

빙고 !!! 그게 헤만 트예요! 정말 고맙습니다!!! – Simon

0

, 당신은 또한 공간을 허용해야한다 : 여기

내가 지금까지 가지고있는 전체 자바 스크립트 코드입니다.

if (!/[^\d ]/.test(a)) { 
    //OK 
} else { 
    //not OK - contains character(s) other than numbers/spaces 
} 

주 리터럴 /pattern/보다는 생성자를 통해 또한, 정규 표현식을 선언하는 간단한 방법.

관련 문제