2011-07-28 14 views
1

私はこのような何かやろうとしているので、単一の文字ができ、他の文字セットと一致するかどうかを確認したい:それは動作しませんので、charをregexpと比較することはできますか?

str.charAt(0) == /[\[\]\.,-\/#!$%\^&\*;:{}=\-_`~()]/ 

はそれを行うための正しい方法はありますか?

答えて

4

使用test

/[\[\]\.,-\/#!$%\^&\*;:{}=\-_`~()]/.test(str.charAt(0)) 
2

はい、使用:

if(str.charAt(0).match(/[\[\]\.,-\/#!$%\^&\*;:{}=\-_`~()]/)) 

charAtがちょうど1文字の長い文字列を返す、あなたが正規表現にマッチさせることで、通常の文字列関数を使用することができますので、何charタイプは、JavaScriptではありません。

1

あなたは範囲を使用していない限り実行可能である別のオプション、:

var chars = "[].,-/#!$%^&*;:{}=-_`~()"; 

var str = '.abc'; 
var c = str.charAt(0); 

var found = chars.indexOf(c) > 1; 

例:http://jsbin.com/esavam

別のオプションは、内の文字を保っています配列(たとえば、chars.split('')を使用)を検索し、その文字がそこにあるかどうかをチェックします。

How do I check if an array includes an object in JavaScript?

関連する問題