Asp.net 小数点后不允许超过5位。在“关于javascript”中;“OnKeyUp”是什么;?
我有一个文本框的javascript代码,它会在数字上加逗号,比如(11,23233) 现在我需要限制用户在小数点后输入不超过5位数字(例如:Asp.net 小数点后不允许超过5位。在“关于javascript”中;“OnKeyUp”是什么;?,asp.net,javascript,Asp.net,Javascript,我有一个文本框的javascript代码,它会在数字上加逗号,比如(11,23233) 现在我需要限制用户在小数点后输入不超过5位数字(例如: 我可以改变上面的javascript来工作吗?不是优雅的或经过测试的,但这应该可以工作 function Comma( Num ) { var period = Num.indexOf('.'); // if you want to just fail... if ( Num.length > (period + 6))
我可以改变上面的javascript来工作吗?不是优雅的或经过测试的,但这应该可以工作
function Comma( Num ) {
var period = Num.indexOf('.');
// if you want to just fail...
if ( Num.length > (period + 6)) throw "too many after decimal point";
if ( period != -1 ) {
Num += '00000';
Num = Num.substr( 0, (period + 6));
}
// might want to replace all commas->'' before parsing,
// this will remove all trailing zeros
Num = parseFloat( Num.replace( ',', '') );
....your stuff
}
您还可以尝试使用JQuery MaskedInput插件,该插件非常有效:
将正则表达式
/(\d+)\(\d{0,5})$/
用作:
function Comma(Num) {
Num += '';
Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
var szChkRgx=/(\d+)\.(\d{0,5})$/;
if(!Num.match(szChkRgx)){
alert("Only max five decimal places allowed!");
return;
}
//rest of your code.
}
今天我在这个senario工作,我发现了一种全新的方式,我希望你能在以下方面找到解决方案: 或者这是一种风格: 代码如下: 文本框 < textarea maxlength=“5”onkeyup=“return ismaxlength(this)”> 脚本代码: 函数ismaxlength(obj) { var mlLength=obj.getAttribute?parseInt(obj.getAttribute(“maxlength”):“” if(obj.getAttribute&&obj.value.length>mllength) 对象值=对象值子字符串(0,最大长度)
}如何处理某些时间长度允许小数点后2位,某些时间长度允许小数点后5位。如果我传递mTextbox.Attributes.Add(“OnKeyUp”,“javascript:this.value=逗号(this.value,2);”)
function Comma( Num ) {
var period = Num.indexOf('.');
// if you want to just fail...
if ( Num.length > (period + 6)) throw "too many after decimal point";
if ( period != -1 ) {
Num += '00000';
Num = Num.substr( 0, (period + 6));
}
// might want to replace all commas->'' before parsing,
// this will remove all trailing zeros
Num = parseFloat( Num.replace( ',', '') );
....your stuff
}
jQuery(function($){
$("#mTextbox").mask("99,99,999.99999");
});
function Comma(Num) {
Num += '';
Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
var szChkRgx=/(\d+)\.(\d{0,5})$/;
if(!Num.match(szChkRgx)){
alert("Only max five decimal places allowed!");
return;
}
//rest of your code.
}