2017-06-04 1 views
-1

文字列に特殊文字が含まれているかどうかを調べようとしています。私は非常にjavascriptに新しいと本当にあなたの助けに感謝します。ここ文字をマッチさせて、それがJavaScriptの特殊文字であるかどうかを調べる方法

は簡略化されたコードである:

function checkMe(text){ 
    var reg = '/[a-zA-Z0-9-]/gi'; 
    var character = text.charAt(0); 
    if((character.match(reg)) == false){ 
     alert("special character found!! "); 
    } 
} 

これは、所望の出力を与えていません。助けてください!!

+2

あなたは、 "特殊文字" とはどういう意味ですか? –

+0

正確に私の質問:) –

+0

HI!文字列が正規表現と一致する場合はtrueを返し、そうでない場合はfalseを返します。 (/\your_regex/).test( "テストする文字列")// true |偽 –

答えて

0

[email protected]#などの特殊文字を意味すると思います。 testを正規表現で呼び出して確認する方法は次のとおりです。 以下のコードを参照してください.1つは特殊文字、もう1つは通常文字です。

function checkMe(text) { 
 
    var reg = /[a-zA-Z0-9-]/gi; 
 
    var character = text.charAt(0); 
 
    if (!reg.test(character)) { 
 
    alert("special character found!! "); 
 
    } else { 
 
    alert("NO special character found!! "); 
 
    } 
 
} 
 

 

 
checkMe('[email protected]#$'); 
 
checkMe('normal');

1

まず第一に、あなたは正規表現ではなく内部の正規表現で文字列を必要としています。

次に、一致する文字が1つの有効な文字の配列を取得するため、チェックする必要があります。一致しない場合、String#matchnullを返します。

function checkMe(text) { 
 
    var reg = /[a-z0-9-]/gi; // regular expr, A-Z is not necessary, because of flag i 
 
    if (!text[0].match(reg)) { // test for falsyness 
 
     console.log("special character found!"); 
 
    } 
 
} 
 

 
checkMe('Übermut');

関連する問題