2016-10-30 10 views
0

私は初心者ですが、下のコードで何がうまくいかないのかよく分かりません。間違った番号が入力された場合、警告は表示されません。属性のhelp.Theのhtmlコードのおかげでは電話番号確認HTMLフォーム

<li><label for="phonenumber">Phone:</label></li> 
<li><input type="tel" name="phonenumber" /></li> 

検証コードされています

function formValidation() 
{ 
    var uphone = document.registration.phonenumber; 
    { 
     if(ValidatePhone(uphone)) 
    } 
    return false; 
} 

function ValidatePhone(uphone) 
{ 
    var phoneformat = /(^\d{3}-\d{3}-\d{4})$/; 
    if(uphone.value.match(phoneformat)) 
    { 
     return true; 
    } 
    else 
    { 
     alert('You have entered an invalid phone number!'); 
     uphone.focus(); 
     return false; 
    } 
} 
+3

「ValidatePhone」と呼ばれるHTMLまたはコードを入力してください。 –

+0

あなたの関数を 'onchange'ハンドラ(' document.getElementById( "uphone"))を使ってテキスト入力に追加しました。addEventListener( "change"、(event)=> ValidatePhone(event.target)); ') – Tibrogargan

+1

他の国では電話のパスが異なっているため、このようなフォームは検証しないでください。たとえば、イタリアでは+39 111-1111111 – paolobasso

答えて

0

この関数は、(実行中のスクリプト全体を妨げる)一つの大きな構文エラーです:

function formValidation() 
{ 
    var uphone = document.registration.phonenumber; 
    { 
     if(ValidatePhone(uphone)) 
    } 
    return false; 
} 

関数内の中カッコでは何も行われず、if文には文がありません(またはブロックされている)ので、その直後にある}はSyntaxErrorを引き起こします。あなたは単純に意味しましたか:

function formValidation() 
{ 
    var uphone = document.registration.phonenumber; 
    ValidatePhone(uphone); 
    return false; 
} 
関連する問題