仅允许在文本框中使用特定字符 (C#)
ASP.NET 验证控件可以确保在用户输入中只允许某些字符。 但是,这仍不会阻止用户键入无效字符并尝试提交表单。
概述
ASP.NET 验证控件可以确保在用户输入中只允许某些字符。 但是,这仍不会阻止用户键入无效字符并尝试提交表单。
步骤
ASP.NET AJAX 控件工具包包含 FilteredTextBox
扩展文本框的控件。 激活后,只能将一组特定字符输入到 字段中。
为此,我们首先需要像往常一样 ASP.NET AJAX ScriptManager
,用于加载 JavaScript 库,这些库也由 ASP.NET AJAX 控件工具包使用:
<asp:ScriptManager ID="asm" runat="server" />
然后,我们需要一个文本框:
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />
最后,控件 FilteredTextBoxExtender
负责限制允许用户键入的字符。 首先,将 TargetControlID
属性设置为 ID
控件的 TextBox
。 然后,选择一个可用 FilterType
值:
Custom
默认;必须提供有效字符的列表LowercaseLetters
仅小写字母Numbers
仅数字UppercaseLetters
仅限大写字母
如果使用 ,Custom FilterType
ValidChars
则必须设置 属性并提供可键入的字符列表。 顺便说一句:如果尝试将文本粘贴到文本框中,则会删除所有无效字符。
下面是控件的 FilteredTextBoxExtender
标记,该标记仅允许数字 () 也可以 FilterType="Numbers"
实现:
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox1" ValidChars="1234567890" />
运行页面并尝试输入字母(如果启用 JavaScript),它将不起作用;但是,数字会显示在页面上。 但请注意,保护 FilteredTextBox
提供的不是项目符号:如果启用了 JavaScript,可以在文本框中输入任何数据,因此必须使用其他验证方式,即 ASP。NET 的验证控件。
仅可以输入数字 (单击以查看全尺寸图像)