仅允许在文本框中使用特定字符 (VB)

作者 :Christian Wenz

下载 PDF

ASP.NET 验证控件可以确保在用户输入中只允许使用某些字符。 但是,这仍不会阻止用户键入无效字符并尝试提交表单。

概述

ASP.NET 验证控件可以确保在用户输入中只允许使用某些字符。 但是,这仍不会阻止用户键入无效字符并尝试提交表单。

步骤

ASP.NET AJAX 控件工具包包含 FilteredTextBox 扩展文本框的控件。 激活后,只能将一组特定字符输入到字段中。

为此,我们首先需要像往常一样 ASP.NET AJAX ScriptManager ,它加载 ASP.NET AJAX 控件工具包也使用的 JavaScript 库:

<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 的验证控件。

只能输入数字

单击可 查看全尺寸图像 (只能输入数字)