如何在TextBox中只允许使用十进制数字
How to allow only decimal numbers in a TextBox
我正在开发asp.net web应用程序。
我有一个文本框,在按下提交按钮之前,我需要允许使用十进制数字。那么在提交提交按钮之前,如何在客户端执行此操作。
如果可以通过javascript、ajax aur从后面的代码中完成,请告诉我。
您可以通过两种方式来实现,一种是通过asp.net的内置验证,另一种是使用javascript。通过javascript,您可以按如下方式进行操作(这将阻止用户输入字符键,因此只允许数字):
<asp:Text onkeypress="return isNumber(event);" runat="server"/>
<script>
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
</script>
如果您想要一个代码隐藏的替代方案,您可以依赖TryParse
。Button1
和TextBox1
的示例代码:
string currentDot1 = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
string currentDot2 = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator;
string currentDot3 = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.PercentDecimalSeparator;
decimal curVal = 0m;
if (TextBox1.Text.Trim().Length > 0 && (TextBox1.Text.Contains(currentDot1) || TextBox1.Text.Contains(currentDot2) || TextBox1.Text.Contains(currentDot3)) && decimal.TryParse(TextBox1.Text, out curVal))
{
//curVal is valid decimal
}
else
{
//NO DECIMAL
}
与用javascript或服务器端验证编写自己的自定义验证代码不同,还有一些库允许您使用jquery在客户端进行验证。
添加这些脚本引用(您也需要jquery):
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
然后您可以执行以下操作:
<script type="text/javascript>
$(document).ready(function()
{
$("#idOfMyForm").validate(
{
rules: {
IdOfMyTextBox: {
required: true,
number: true
}
}
});
$("#submitButton").click(function(e){
if(!$("#idOfMyForm").valid(){
e.preventDefault(); //stop the form from submitting
alert("My form is not valid.");
}
//continue submitting the form, do whatever you need to do.
});
});
</script>
相关文章:
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 在javascript中接受十进制数字的Regex
- 使用角度数字格式过滤器格式化值
- 编译为JavaScript选项,该选项使用十进制库而不是IEEE 754数学
- 如何在JavaScript/jQuery和HTML中使用国际数字系统计算数字
- 如何在TextBox中只允许使用十进制数字
- 如何删除“"使用jQuery从十进制数字中提取
- 只允许整数和十进制数字textbow jquery(不带正则表达式)
- 使用输入数字值作为另一个字段的输入数字最大值
- 使用带有数字键的对象呈现 _.template
- 十进制数字的 Javascript 正则表达式 - 替换非数字和多个小数点
- 使用 toFixed 对十进制数字进行舍入
- 如何使用 JavaScript 删除十进制数字
- 如何防止 toFixed 四舍五入十进制数字
- 角度范围滑块,以使用十进制浮点值
- SI 使用十进制刻度域进行格式化
- 在字符串中使用十进制分隔符匹配数字
- Intl.使用数字选项的排序器和自然排序不正确地对十进制数字进行排序
- 使用javascript正则表达式获取十进制数字
- 使用JS和AS3之间的ExternalInterface发送十进制数字