簡體   English   中英

如何通過本機 JavaScript 在 asp.net 文本框中的 3 位數字后放置點?

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

如何在asp.net文本框中的3位數字后放置點? 下面的代碼對我不起作用。 我想要它在 JavaScript 而不是 jQuery 中。

例如:

1234: 1.234
23456: 23.456

但是如果我放“逗號”,它應該停止放“。” 1.2345,78

我猜逗號有一個事件停止點事件。

例如這里的第一個答案Can jQuery add逗號當用戶輸入數字時? , 而不是逗號我想使用“點”而不是逗號。 但我想需要逗號的許可。

我的 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)");

        }

    }

我的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);
    }

在此處輸入圖片說明

如果您想在單擊事件或任何其他此類事件中進行驗證,請嘗試從http://regexr.com/構建正則表達式。 如果您想限制用戶輸入,您需要點擊 keypress、keyup 或 keydown 並獲取事件代碼以獲取確切按下的內容並相應地返回 false。 如果您創建一個按鍵事件會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM