我正在尝试在文本框中进行javascript调用,如下所示
<asp:TextBox ID='Textbox1' runat='server'></asp:TextBox>
我需要以这样的方式进行用户输入:用户不能在点之前放置9位以上,在点之后放置9位数。 例如,123456789.123456789这是用户可以输入的最大长度。我需要在按键或键盘事件中执行此操作。请帮我怎么做。
答案 0 :(得分:0)
为什么不使用或使用AJAX Control Toolkit Masked Edit Extender?
首先,您的正则表达式如下所示:^\d{1,9}(\.{1,9})?$
。你像这样申请:
<asp:TextBox ID='Textbox1' runat='server'></asp:TextBox>
<asp:RegularExpressionValidator runat="server" ControlToValidate="Textbox1"
ErrorMessage="Invalid format" ValidationExpression="^\d{1,9}(\.{1,9})?$"
SetFocusOnError="true"/>
答案 1 :(得分:0)
你可以使用JQuery来做到这一点。
$('#textboxID').on('KeyUp',function({
// Validation Logic
}));
但我建议使用KeyPress事件而不是KeyUp事件。如果您使用KeyUp
,可能会出现以下情况用户输入 123456789 ,当他按下第10个键时,文本框将显示 1234567890 。 触发keyUp后,将触发验证,文本将恢复为 123456789 。 虽然它会出现一段时间,但最好是积极主动而不是反应。
答案 2 :(得分:0)
除了JQuery以确保该文本框中只有9个字符,您可以执行此操作
<asp:TextBox runat="server" MaxLength="9"></asp:TextBox>
可能不是答案,但在我看来这是一个更容易的选择。