简体   繁体   English

如何通过本机 JavaScript 在 asp.net 文本框中的 3 位数字后放置点?

[英]How can I put dot after 3 digits in asp.net textbox by native JavaScript?

How can I put dot after 3 digits in asp.net textbox?如何在asp.net文本框中的3位数字后放置点? Below code doesn't work for me.下面的代码对我不起作用。 I want it in JavaScript not jQuery.我想要它在 JavaScript 而不是 jQuery 中。

For example:例如:

1234: 1.234
23456: 23.456

But if I put "COMMA", it should stop putting "."但是如果我放“逗号”,它应该停止放“。” 1.2345,78 1.2345,78

I guess comma has an event stopping dot event.我猜逗号有一个事件停止点事件。

Such as first answer here Can jQuery add commas while user typing numbers?例如这里的第一个答案Can jQuery add逗号当用户输入数字时? , instead of comma I want to use "dot" not comma. , 而不是逗号我想使用“点”而不是逗号。 But I want to need permission for comma.但我想需要逗号的许可。

My C# code:我的 C# 代码:

  private void GvRowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {

            TextBox txtVeri = (TextBox)e.Row.FindControl("txtVeri");
            txtVeri.Attributes.Add("onkeyup", "InsertComma(this.id)");

        }

    }

My JS code:我的JS代码:

        function InsertComma(veriId) {
        console.log("çalışıyor");

        var txtObj = document.getElementById(veriId);
        var txtVal = replaceAll(txtObj.value, '.', '');
        //alert(txtObj.value);
        if (txtObj.value != "") {
            var newVal = "";
            for (var i = 0; i < txtVal.length; i++) {
                //alert(txtVal.substring(i, 1));
                newVal = newVal + txtVal.substring(i, i + 1);

                if ((i + 1) % 3 == 0 && i != 0 && i + 1 < txtVal.length) {
                    newVal = newVal + ".";
                }
            }
            txtObj.value = newVal;
        }

    }

    function replaceAll(txt, replace, with_this) {
        return txt.replace(new RegExp(replace, 'g'), with_this);
    }

在此处输入图片说明

try building regex from http://regexr.com/ if you want to validate at a click event or any other such event.如果您想在单击事件或任何其他此类事件中进行验证,请尝试从http://regexr.com/构建正则表达式。 And if you want to restrict users input you need to tap on keypress, keyup or keydown and get the eventcode to get what exactly was pressed and return false accordingly.如果您想限制用户输入,您需要点击 keypress、keyup 或 keydown 并获取事件代码以获取确切按下的内容并相应地返回 false。 It would be better if you create a keypress event.如果您创建一个按键事件会更好。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Asp.net如何限制textbox按键事件中小数点前后的位数 - Asp.net How to limit number of digits before and after the decimal point in textbox keypress event 如何使用JavaScript在基于ASP.NET的另一个文本框的文本框上进行验证? - How to put validations on a textbox based on another textbox in asp.net using JavaScript? 如何使用Jquery或Javascript从Asp.Net TextBox控件获取文本? - How can I get the text from an Asp.Net TextBox control with Jquery or Javascript? 如何在 onclick 事件后删除 TextBox 上的缩进? (ASP.NET) - How can I remove the indent on TextBox after an onclick event? (ASP.NET) "如何在 ASP.NET 文本框中强制输入为大写?" - How can I force input to uppercase in an ASP.NET textbox? 如何在asp.net中自动调整文本框的高度? - How can I autosize textbox height in asp.net? 如何在 asp.net 网站中实现 SOTag 文本框? - How can I implement SOTag textbox in asp.net website? 文本框中带有javascript onkeypress事件的点后两位 - two digits after dot with javascript onkeypress event in textbox 用户使用JQuery切换到Asp.net文本框值时,如何用它替换以前的asp.net文本框值? - How can I fill an asp.net textbox with a previous asp.net textbox value when the user tabs to it using JQuery? JavaScript; 三位数后如何设置点? - JavaScript; How to set dot after three digits?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM