我想出了如何使用此功能只在文本框中输入数字
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57))
return false;
return true;
}
但我只希望它遵循特定语法中的####。##,这样在提交时它不会在oracle中导致错误。
我对正则表达式并不擅长,并且想知道是否有人能指出我的方向或帮助我。
答案 0 :(得分:0)
你可以使用AjaxControlToolkit轻松地完成它:
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/FilteredTextBox/FilteredTextBox.aspx
使用FilteredTextBox限制字符,然后使用MaskedEdit强制执行格式。
答案 1 :(得分:0)
此正则表达式将与您提供的格式相匹配。
var matches = str.match(^\d{4}\.\d{2})
if (matches) //matches will be no if no matching values are returned.
{
//You have valid input
}
答案 2 :(得分:0)
使用MaskedEdit强制执行您的模式。它非常容易。
<ajaxToolkit:MaskedEditExtender
TargetControlID="TextBox2"
Mask="####.##"
MessageValidatorTip="true"
OnFocusCssClass="MaskedEditFocus"
OnInvalidCssClass="MaskedEditError"
MaskType="Number"
InputDirection="RightToLeft"
AcceptNegative="Left"
DisplayMoney="Left"
ErrorTooltipEnabled="True"/>