我在ASP。net中的一个textbox,我先限制只能输入中问,数字,英文,和标点符号
若是 asp.net B/S 的话,可直接用 ajax 的 FilteredTextBoxExtender 控件,
用户在第一时间,键盘即不能 key-in 规定以外的字符:
http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/FilteredTextBox/FilteredTextBox.aspx
只能輸入大小寫的英文字母
<ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
TargetControlID="TextBox1" FilterType="UppercaseLetters, LowercaseLetters, Custom" ValidChars=" " />
只能輸入大小寫的英文字母、半形空格
<ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
TargetControlID="TextBox1" FilterType="UppercaseLetters, LowercaseLetters" />
只能輸入大小寫的英文字母、數字 (不包括小數點)
<ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
TargetControlID="TextBox1" FilterType="UppercaseLetters, LowercaseLetters, Numbers" />
只能輸入數字 (不包括小數點)
<ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
TargetControlID="TextBox1" FilterType="Numbers" />
只能輸入數字 1~8 (不包括小數點)
<ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
TargetControlID="TextBox1" FilterType="Custom" ValidChars="12345678" />
只能輸入數字 (包括小數點)
<ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
TargetControlID="TextBox1" FilterType="Numbers, Custom" ValidChars="." />
電話號碼
<ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
TargetControlID="TextBox1" FilterType="Numbers, Custom" ValidChars="(-)#" />
出生年月日 (全形)
<ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
TargetControlID="TextBox1" FilterType="Custom" ValidChars="一二三四五六七八九零十年月日" />
ajaxcontroltoolkit里有个文本限制的控件的
或者可以自己写js
写在onchange事件吧,个人感觉友好一点。
正则表达式
用正则表达式,客户端提交的时候用JS判断一下,严格的讲,服务器端在数据入库的时候也要判断,防止跳过JS提交。