[javascript入門] 文字列の中に数字が入っているかどうかチェックする方法まとめ

javascriptを利用して、文字列の中に数値が入っているかどうかをチェックする方法の備忘録となります

今回は下記の方法をご紹介します

文字列の中に数値があるかどうかチェック
  1. Regex.test()を利用する
  2. string.match()を利用する

\自身のスキルを向上するには技術書で!!/

月額¥980で技術書が読み放題!!

  • ビジネススキルとマインド向上したい!!
  • 決断や行動を先送りにしてしまう方!!

Kindle Unlimitedでは30日間無料体験実施中!登録はこちら!

Regex.test()を利用する

javascriptでは文字列に対して正規表現を利用して特定の文字が含まれているかどうかをチェックする方法があります

その中で、test()は正規表現のパターンから呼び出し、引数にチェックする文字列を指定します。

function containsNumbers(str) {
    return /\d/.test(str);
}
console.log(containsNumbers('hello123')); // true
console.log(containsNumbers('javascript')); // false
console.log(containsNumbers('1 tickets')); // true

上記は、「\d」という正規表現では「数値」を表します。
文字列に数値が含まれているかどうかをチェックする場合は上記のように表現します。

もし、数値のみをチェックする場合は下記のようにすると良いでしょう

function containsOnlyNumbers(str) {
  return /^\d+$/.test(str);
}
console.log(containsOnlyNumbers('hello123')); // false
console.log(containsOnlyNumbers('458')); // true
console.log(containsOnlyNumbers('1 tickets')); // false

上記の場合は、数値のみかどうかをチェックします。

もし数値以外が含まれている場合は「false」となります。

「\d」の代わりに「[0-9]」を利用するのも良いでしょう。

RegExp.prototype.test()

string.match()を利用する

matchもtestメソッドと同様に、文字列の中に特定の文字が含まれているかどうかチェックするためのメソッドです。

文字列を扱うStringオブジェクトで標準に用意されているメソッドとなります。

function containsNumbers(str) {
  return Boolean(str.match(/\d/));
}
console.log(containsNumbers('hello123')); // true
console.log(containsNumbers('javascript')); // false
console.log(containsNumbers('1 tickets')); // true

String.prototype.match()

最後に

もちろん、数値が含まれているということではなく、特定の文字列を利用する場合に上記方法を利用しますが、今回は数値が含まれているかどうかという観点で、投稿しました。

ぜひ、参考にしてみてください。

タイトルとURLをコピーしました