JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで値がパーセンテージ(%)かどうかを正規表現で判定する方法

値がパーセンテージかどうかを確認するには

たとえば、次のような値があったとします。

var value = "97%";

この値がパーセンテージ(%)形式かどうかを判定するには、正規表現を使用します。

使用する正規表現の解説

本記事では /^\d+(\.\d+)?%$/ というパターンを使います。それぞれの意味は以下のとおりです。

  • ^ … 文字列の先頭から一致することを示す
  • \d+ … 整数部分(1桁以上の数字)
  • (\.\d+)? … 小数点以下は任意(存在してもしなくてもよい)
  • %$ … 文字列の末尾が「%」であること

このパターンにより、「97%」「12.5%」のような形式は true、「percent」のような文字列は false と判定されます。

サンプルコード

実際のコードを見てみましょう。

var value = "97%";
var result = /^\d+(\.\d+)?%$/.test(value);
if (result == true) {
   console.log("パーセンテージです:" + value);
}
else {
   console.log("これはパーセンテージではありません");
}

var value1 = "percent";
var result1 = /^\d+(\.\d+)?%$/.test(value1);
if (result1 == true) {
   console.log("パーセンテージです:" + value1);
}
else {
   console.log("これはパーセンテージではありません");
}

プログラムの実行方法

上記のプログラムを実行するには、Node.jsを使って次のコマンドを入力します。

node fileName.js

ここでは、ファイル名を demo214.js として保存しています。

実行結果

コンソールには次のように出力されます。

PS C:\Users\Amit\JavaScript-code> node demo214.js
パーセンテージです:97%
これはパーセンテージではありません

補足:test() メソッドについて

RegExp.test() メソッドは、指定した文字列が正規表現にマッチする場合は true、しない場合は false を返します。入力値のバリデーションなどに手軽に活用できるため、フォームチェックやデータ検証の場面でよく使われます。

  1. JavaScriptで入力値が数字か文字かを判定する方法【isNaN()関数の使い方】

    入力された値が数字か文字(数値以外)かを判定するには、JavaScriptのisNaN()関数を使用します。この関数は、値がNaN(Not a Number:非数)である場合にtrueを返します。この特性を利用することで、ユーザーが入力した値が数値かどうかを簡単にチェックできます。 isNaN()関数とは isNaN()は「is Not a Number」の略称です。引数として渡された値が数値として解釈できない場合にtrueを、数値として解釈できる場合はfalseを返します。これにより、「入力内容が数字かどうか」をシンプルに判定できるのが特徴です。 サンプルコード 以下のコードでは、フォームの

  2. JavaScriptでhref属性の値を取得する方法|jQueryのattr()メソッド活用ガイド

    Web開発では、アンカータグ(<a>)に設定されたリンク先URL、つまりhref属性の値を取得したい場面がよくあります。この記事では、jQueryのattr()メソッドを使って、簡単にhrefの値を取得する方法を解説します。対象となるHTMLの例たとえば、以下のようなアンカータグがあったとします。<a class=demo title=get the url href=./mainPage.jsp/1245>href value at console</a>ここで必要なのは、テキスト部分ではなく、URLそのもの、すなわちhref属性の値「./mainPage