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 を返します。入力値のバリデーションなどに手軽に活用できるため、フォームチェックやデータ検証の場面でよく使われます。
-
JavaScriptで入力値が数字か文字かを判定する方法【isNaN()関数の使い方】
入力された値が数字か文字(数値以外)かを判定するには、JavaScriptのisNaN()関数を使用します。この関数は、値がNaN(Not a Number:非数)である場合にtrueを返します。この特性を利用することで、ユーザーが入力した値が数値かどうかを簡単にチェックできます。 isNaN()関数とは isNaN()は「is Not a Number」の略称です。引数として渡された値が数値として解釈できない場合にtrueを、数値として解釈できる場合はfalseを返します。これにより、「入力内容が数字かどうか」をシンプルに判定できるのが特徴です。 サンプルコード 以下のコードでは、フォームの
-
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