带有数字的TextBox,格式为####。##

时间:2013-07-25 20:02:42

标签: c# javascript asp.net regex textbox

我想出了如何使用此功能只在文本框中输入数字

  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中导致错误。

我对正则表达式并不擅长,并且想知道是否有人能指出我的方向或帮助我。

3 个答案:

答案 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"/>