私はあなたを助けるかもしれない何かをやった:あなたはそれがここで働いて見ることができます Live control a float input with a regex mask
$('.numeric_input').live("keyup",function(){inputControl($(this),'int');});
$('.float_input').live("keyup",function(){inputControl($(this),'float');});
function inputControl(input,format)
{
var value=input.val();
var values=value.split("");
var update="";
var transition="";
if (format=='int'){
expression=/^([0-9])$/;
finalExpression=/^([1-9][0-9]*)$/;
}
else if (format=='float')
{
var expression=/(^\d+$)|(^\d+\.\d+$)|[,\.]/;
var finalExpression=/^([1-9][0-9]*[,\.]?\d{0,3})$/;
}
for(id in values)
{
if (expression.test(values[id])==true && values[id]!='')
{
transition+=''+values[id].replace(',','.');
if(finalExpression.test(transition)==true)
{
update+=''+values[id].replace(',','.');
}
}
}
input.val(update);
}
を:ここでhttp://jsfiddle.net/8Uuvb/1/
こんにちは。あなたのコードは、テキストボックスのコントロールの入力ですが、私は自分のコード(ここで私のコードhttp://jsfiddle.net/nangvabien/8Uuvb/)をFormatNumberプラグインに追加する方法を知ることができません。 – minh
申し訳ありませんが、私はあなたが本当にやりたいこと、なぜあなたがそれを望んでいるのか、それが最終的に何をするのか理解していません。私のポストはあなたのタイトル質問に答えます。この式/^([1-9-9)[0-9]*[,\.]?¥d{0,3})$/は小数点以下の桁区切り記号と小数点以下3桁を許可します。 – Valky