0

我想出了如何使用这个函数在文本框中只输入数字

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

我不擅长正则表达式,想知道是否有人可以为我指出方向或帮助我。

4

3 回答 3

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
}
于 2013-07-25T20:15:01.863 回答
0

您可以使用 AjaxControlToolkit 很容易地做到这一点:

http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/FilteredTextBox/FilteredTextBox.aspx

使用 FilteredTextBox 来限制字符,然后使用 MaskedEdit 来强制执行您的格式。

于 2013-07-25T20:11:16.060 回答
0

使用MaskedEdit强制执行您的模式。它很容易。

<ajaxToolkit:MaskedEditExtender
    TargetControlID="TextBox2" 
    Mask="####.##"
    MessageValidatorTip="true" 
    OnFocusCssClass="MaskedEditFocus" 
    OnInvalidCssClass="MaskedEditError"
    MaskType="Number" 
    InputDirection="RightToLeft" 
    AcceptNegative="Left" 
    DisplayMoney="Left"
    ErrorTooltipEnabled="True"/>
于 2013-07-26T11:34:03.680 回答