2012-04-06 12 views
0

これは初めてのJavascriptで初めてのコーディングです。私はピザフォームでユーザーの入力を検証できるようにする関数(RegExpは残念ながら許可されていません)を作成する必要があります。それには文字だけがあることを確認する(数字もスペースもなく、ハイフンとアポストロフィを除いて特殊文字はありません)。Javascript:文字列、ハイフン1文字、アポストロフィ1文字しか入力できないようにフィールド上でフィールドを検証します。

ユーザは、1つのアポストロフィを使用することができます(前と後の文字を使用)。ユーザーは1つのハイフンを使用することができます(その前と後の文字で)、ユーザーはまた、文字で区切られている限り、アポストロフィとハイフンを同時に使用できます。そしてユーザーがcgiへのsubmitボタンをクリックすると、私の最終結果はすべての大文字で名前を表示することです。

例;

は、クライアント名を入力します。MIKEまたはM'IKEまたはM'IKE:マイクまたは

をm'ikeまたはm'ikeは

結果を(ピザの注文を提出クリックしてください)。

function validatefield01(errMessages) 
{ 


// Get the content of fieldOne 

     var entry1_info = document.pizza.field01.value;       


// error condition will show if character count is less than 4 or greater than 15 

     if ((entry1_info.length <4) && (entry1_info.length <15))     

// error message to be displayed 

     { 
     errMessages += " <li>Minimum characters for Client Surname is 4 maximum 15\n"; 
errMessages += "  must use characters only, Apostrophe (') or hyphen (-) is acceptable.</li>\n"; 
     } 



     return errMessages; 

     for(var i=0; i<entry1_info.length; i++) 
     { 
      ch = entry1_info.length.charAt(i); 
      if(ch !=' ' && ch !='.') return false; 

     } 

が良く、ここで何が起こっているのかを説明する:

は、これまでのところ、これは私が持っているものです。任意の(仕事をするif文で作成)が行われている必要があります。この機能は私elseステートメントに私はこの

else { 

     field01=field01.substring(0).toUpperCase(); 

     return true;     // No errors - return to browser and submit form 
     } 
    }         // End of main function 

ので、何を持って、すべてのエラーを表示するウィンドウをポップアップするために私の主な機能に呼び出されます今起こっているのは、小文字が入力された場合はそれを受け入れることはできませんが、文字が大文字で入力された場合はフォームがそれを受け入れ、それがcgiに名前を表示します。私はそれを修正する方法がわからない、ユーザーは小文字で入力することができますが受け入れる必要がありますが、それは大文字に変更する必要がありますので、私はthattopperCase()...

ありがとう助けを求めて!

+0

正規表現はどういう意味ですか? – kapa

+0

@bažmegakapaおそらくプログラミングの宿題です。 – keune

+0

私の教授は、正規表現の使用を望んでいません。なぜなら、「javascriptでコードする方法を教えてくれません」と言うからです。だから私は、私が求めていることをする方法や例や何かをする方法を教えてくれる何かを試してみるためにウェブを検索してきました。ほとんどの人は正規表現を使っています。私は彼に尋ねました---しかし彼は彼が助けることができないと言います... – Umeed

答えて

1
function validatefield01(errMessages){ 

var entry1_info = document.f1.sDate.value 

    //if character count is less than 4 or greater than 15. 
if ((entry1_info.length < 4) || (entry1_info.length > 15)) { 

    // error message to be displayed 
    errMessages += " <li>Minimum characters for Client Surname is 4 maximum 15\n"; 

    return false; 

} 

var word = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcedfghijklmnopqrstuvwxyz-'"; 

    // Check input string validation. 
    for (var i = 0; i < entry1_info.length; i++) { 
     if (word.indexOf(entry1_info.charAt(i), 0) == -1) { 

     // error message to be displayed. 
     errMessages += "must use characters only, Apostrophe (') or hyphen (-) is acceptable.</li>\n"; 

     return false; 
     } 
    } 

document.f1.sDate.value = entry1_info.substring(0).toUpperCase(); 
return true; 

} 
関連する問題