![](/img/trans.png)
[英]Asp.net How to limit number of digits before and after the decimal point in textbox keypress event
[英]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.