次のコードを使用して、Javascript 文字列内の文字を抽出しています。
var first = str.charAt(0);
それが手紙かどうかを確認したいと思います。奇妙なことに、そのような機能が Javascript に存在するようには見えません。少なくとも私はそれを見つけることができません。
どうすればこれをテストできますか?
次のコードを使用して、Javascript 文字列内の文字を抽出しています。
var first = str.charAt(0);
それが手紙かどうかを確認したいと思います。奇妙なことに、そのような機能が Javascript に存在するようには見えません。少なくとも私はそれを見つけることができません。
どうすればこれをテストできますか?
そのための組み込み関数があるとは思いません。しかし、正規表現で書くのは簡単です
function isLetter(str) {
return str.length === 1 && str.match(/[a-z]/i);
}
このプラグインには、あなたが求める機能があると思います: http://xregexp.com/plugins/ (github リンク: https://github.com/slevithan/xregexp )
これを使用すると、すべての Unicode 文字を単純に\p{L}
.
このソース ファイルのヘッダーを読んで、サポートされているカテゴリを確認してください: http://xregexp.com/plugins/xregexp-unicode-categories.js
ASCIIコードを使用するのはどうですか?
let n = str.charCodeAt(0);
let strStartsWithALetter = (n >= 65 && n < 91) || (n >= 97 && n < 123);
新しい質問を投稿したくないので、ここに投稿します。コードに単一の文字宣言がないと仮定すると、文字を eval() してエラーを発生させ、文字の型を確認できます。何かのようなもの:
function testForLetter(character) {
try {
//Variable declarations can't start with digits or operators
//If no error is thrown check for dollar or underscore. Those are the only nonletter characters that are allowed as identifiers
eval("let " + character + ";");
let regExSpecial = /[^\$_]/;
return regExSpecial.test(character);
} catch (error) {
return false;
}
}
console.log(testForLetter("!")); //returns false;
console.log(testForLetter("5")); //returns false;
console.log(testForLetter("ن")); //returns true;
console.log(testForLetter("_")); //returns false;