重複の可能性:
PHP 正規表現 - 有効な浮動小数点数
浮動小数点数のjavascriptだけでなく、phpの正規表現は何になりますか?
3、3.3、または 0.3 と 0 などの値を一致させる必要があります
重複の可能性:
PHP 正規表現 - 有効な浮動小数点数
浮動小数点数のjavascriptだけでなく、phpの正規表現は何になりますか?
3、3.3、または 0.3 と 0 などの値を一致させる必要があります
浮動小数点数のトークンはありません。フロートに一致させたい場合は、次のように数字 + ポイント + 数字を使用する必要があります。
\d+(\.\d+)?
PHP:
is_numeric($nb);
JS:
!isNaN(+nb);
指定された文字列が int/float かどうかを確認するには:
/^\d+(\.\d+){0,1}$/
特定の文字列に含まれるすべての数字に一致させたい場合は、次のようにします。
/\b\d+(\.\d+){0,1}\b/g
それはあなたに必要なものを与えるはずです
フロートは次のように書くこともできます.3
。これは0.3
、その場合、必要なものすべてをカバーするのと同じです。
/((?:\d)?(?:.\d+)?)/
これにより、結果がサブ結果に分割されることなく、1つの文字列全体としてグループ化されます。
したがって、これは一致します33
、3.3
&.33
それはあなたが望むものに依存します:チェックのみ?Florian Margaine が言ったように実行してください:is_numeric($nb)
浮動小数点数と整数の PHP でctype_digits($nb)
。!isNaN(+nb);
フロートとtypeof($nb) == "Integer"
整数のJSで。
数値を変換したい (そして同時にチェックインしたい) 場合:
//for floats
$floatNb = (float) $nb;
if($floatNb != 0 || $nb === "0")//now you are sure that $nb was a float and $floatNb is the float representation
国際番号を取得した場合は、 intl extensionの数値フォーマッタを使用します。
<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo numfmt_parse($fmt, $num)."\n";
正規表現は型チェックには決して適していません