1. 程式人生 > >限制文字框只能輸入數字:Asp.net&C#

限制文字框只能輸入數字:Asp.net&C#

網上很多關於文字框只能輸入數字的,今天又找了一遍,發現以前的寫法居然有點問題!

onkeypress="if (event.keyCode<48 || event.keyCode>57) event.returnValue=false;"

這樣寫如果使用者打漢字,依然可以通過!

現在找到了兩種寫法:拒絕. / ? = + ` ~ 以及漢字(目前測了下,貌似真的只能輸入漢字)


onkeyup='value=value.replace(/[^\d]/g,"") '
                                 onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

onkeyup="this.value=this.value.replace(/\D/g,'')" 
                                onafterpaste="this.value=this.value.replace(/\D/g,'')"

<asp:TextBox ID="txtNeedPage" Width="20px" runat="server" onkeyup='value=value.replace(/[^\d]/g,"") '
                                    onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
                                    ></asp:TextBox>

或者
<asp:TextBox ID="txtNeedPage" Width="20px" runat="server" onkeyup="this.value=this.value.replace(/\D/g,'')" 
                                onafterpaste="this.value=this.value.replace(/\D/g,'')"
                                    Text="<%#((GridView)Container.Parent.Parent).PageIndex + 1 %>"></asp:TextBox>

java裡後者說jsp裡:

<tr>
							<td>
								年齡:
							</td>
							<td>
								<input type="text" name="age" id="age_" onkeyup='value=value.replace(/[^\d]/g,"") '
                                 onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"/>
							</td>
						</tr>

一樣實用!

---------------------------華麗的分隔符------------------------------------------------------------------------------------------------------------

C#限制文字框只能輸入數字:

 if (!(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b'))
            {
                e.Handled = true;
            }
txtBox的KeyPress事件!