0

間違いがばかげている場合はすみません。私はJavascriptを始めたばかりなので(ちなみに、プログラミング全般は好きです)、小さなプログラムを作成しようとしています。入力フィールドの1つに、あなたの名前を書くこと。&%$?¿ などの文字が含まれないようにする機能を作成しました...

問題は、関数が正常に動作することです...時にははい、時にはいいえ...無効な文字を正確にどこに入力するかによって異なりますが、プログラミングの理解が限られているため、私はまだ何をしているのか理解できません違う。ここで、見てみましょう:

 function validate_input(text) {


    var notgood = "!"·$%&/()=?¿@#¬"; //cannot have this inside name

    var i = 0;   

    while (i <= notgood.length) { 

        if (text.indexOf(notgood.charAt(i)) ==-1) {
            ind = ind + 1;  
            break; 
        }
        else {  
            alert("Your name cannot include symbols");
            var text = prompt("Try again");
        }
    }}

百万の感謝。ほんの些細なことです。記号をチェックせずに入力することはできますが、この問題を理解できないのは少しばかげています...

4

1 に答える 1

1

"notgood 文字列の 2 番目をエスケープすると、コードが機能する可能性があります。

var notgood = "!\"·$%&/()=?¿@#¬";

グローバルなど、他にも多くの潜在的な問題がありますがind

または、代わりに正規表現を試すことができます。ユースケースではよりクリーンです

var notgood = /[!"·$%&/()=?¿@#¬]/; //cannot have this inside name

if ( notgood.test( text ) ) {
    alert("Your name cannot include symbols");
    text = prompt("Try again");
}
于 2012-10-09T09:12:03.713 に答える