Asp.net TextBox 限制輸入數字
Asp.net TextBox 限制輸入數字
想要 Asp.net TextBox 限制輸入數字,有2種方法可以達到
第一種 使用javaScript
在<head>內加入如下的Function
<script type=”text/javascript”>
function txtKeyNumber() {
if (!(((window.event.keyCode >= 48) && (window.event.keyCode <= 57)) ||
(window.event.keyCode == 13) || (window.event.keyCode == 46) ||
(window.event.keyCode == 45)))
//這段是判斷如果輸入的不是數字或小數點!那將無法輸入文字
{
window.event.keyCode = 0;
}
}
</script>
function txtKeyNumber() {
if (!(((window.event.keyCode >= 48) && (window.event.keyCode <= 57)) ||
(window.event.keyCode == 13) || (window.event.keyCode == 46) ||
(window.event.keyCode == 45)))
//這段是判斷如果輸入的不是數字或小數點!那將無法輸入文字
{
window.event.keyCode = 0;
}
}
</script>
在 PageLoad中加入屬性
txt_Number.Attributes.Add(“OnKeyPress”, “txtKeyNumber();”);
或者直接寫在HTML中的Textbox屬性裡
<asp:TextBox ID=”txt_Number” runat=”server” Width=”200px” OnKeyPress=”if(((event.keyCode>=48)&&(event.keyCode <=57))||(event.keyCode==46)) {event.returnValue=true;} else{event.returnValue=false;}” ></asp:TextBox>
第2種方法,使用AJAX擴充控制項
其中有個FilteredTextBox可以附加到TextBox的控制項中
其中有個FilterType 可以選擇Numbers,LowercaseLetters,UppercaseLetters,Custom
透過設定他們就可以達到要篩選輸入類型的限制,而且可複合使用例如FilterType=”Custom, Numbers”
屬性表如下
屬性如下:
屬性 | 描述 |
TargetControlID | 要進行篩選的TextBox的ID |
FilterType | 篩選類型,提供如下四種 Numbers,LowercaseLetters,UppercaseLetters,Custom 可以同時指定多個類型 如: FilterType=”Custom, Numbers” |
ValidChars | 當FilterType为Custom時,允許輸入的字元,其他的將被忽略 ValidChars=”+-=/*().” |