JavaScriptで数値か判定するコードだよ!
基本、カスタム表示ラベルは、文字列で渡されるから判定が出来ないんだけど、JavaScriptで判定するメソッド作成したから、応用して使用してみてね!
以下、サンプルコード!
isStrictNumeric.js
function isStrictNumeric(value) {
// falsyチェック(空文字、null、undefinedなどはfalse)
if (!value) {
return false;
}
const pattern = /^-?\d+(\.\d+)?$/;
return pattern.test(value);
}
実行結果.
console.log(isStrictNumeric("123")); // true (整数)
console.log(isStrictNumeric("-123")); // true (負の整数)
console.log(isStrictNumeric("123.456")); // true (小数)
console.log(isStrictNumeric("-123.456")); // true (負の小数)
console.log(isStrictNumeric("")); // false (空文字)
console.log(isStrictNumeric("Hello")); // false (文字)
console.log(isStrictNumeric("123.")); // false (小数点後に数字なし)
console.log(isStrictNumeric("12.34.56")); // false (小数点が2回)
console.log(isStrictNumeric("--123")); // false (マイナス記号が2回)
console.log(isStrictNumeric(" 123")); // false (先頭にスペースあり)
数値の形式を厳格にチェックするための正規表現
-? … マイナス記号 - が0回または1回 (任意、オプション)
\d+ … 1桁以上の数字 (整数部分)
(\.\d+)? … 小数点 . + 1桁以上の数字 のセットが0回または1回
$ … 文字列の末尾にマッチ
つまり・・・
「先頭に一度だけ - をつけられる」
「数字部分を少なくとも1桁入れる」
「小数点は0回または1回」
「小数点がある場合は最低1桁の数字を続ける」
ことを指定しているよ!!!
参考になると嬉しいな!!!