需要将“逗号”替换为“点”

时间:2013-10-20 07:33:50

标签: javascript jquery

请帮我调整现有脚本,用DOT替换COMMA。 我使用一个脚本将插入字符限制为文本字段。只有1,2,3,4,5,6,7,8,9,0和“。”并且“,”被接受插入。我想有两个插入DOT的按钮 - 键== 188(逗号)和键== 190(点)。

jQuery.fn.ForceNumericOnly =
    function()
    {
        return this.each(function()
        {
            $(this).keydown(function(e)
            {
                var key = e.charCode || e.keyCode || 0;
                return (
                    key == 8 || 
                    key == 9 ||
                    key == 46 ||
                    key == 110 ||
                    key == 188 ||   
                    key == 190 ||
                    (key >= 35 && key <= 40) ||
                    (key >= 48 && key <= 57) ||
                    (key >= 96 && key <= 105));

            });
        });
    };
$("#iMONEY").ForceNumericOnly();

可以测试HERE

4 个答案:

答案 0 :(得分:4)

只需使用

if(e.keyCode == 188){
    e.preventDefault();
    $(this).val($(this).val() + '.');
}
你去了{p> Here。 :)

以供将来参考Mini-Tutorial

答案 1 :(得分:1)

var key = e.charCode || e.keyCode || 0;
// 110 is numpad comma code
if (key === 188 && key === 110) {
    e.preventDefault();
    $(this).val($(this).val() + '.');                   
}

答案 2 :(得分:1)

在触发 按键事件后,文本框的值会更新 。它不是用点替换逗号的地方。请改用keyup事件:

jQuery.fn.ForceNumericOnly =
    function()
    {
       this.keyup(function(e)
            {
//                console.log("Change");
                $(this).val($(this).val().replace(/,/g,"."));
            });
    };
$("#iMONEY").ForceNumericOnly();

DEMO

答案 3 :(得分:0)

您需要使用替换方法

var someVariable = "1,2,3,4,5,6,7,8,9,0";
$mylabel.text( someVariable.replace(',', '.') );

修改 如果您从TextBox进行检查,请执行以下操作:

if(Key == 188){
   var someVariable =  $("#TEXTBOXID").val();
    somVariable = someVariable.replace(',', '.');
}