HTML 限制文本框只能输入特定字符(比如数字 onkeyup+onafterpaste)
正則表達(dá)式1
<td><asp:TextBox ID="TextBox_username" Width="250" runat="server" class="inputtext" onKeyUp="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"></asp:TextBox></td>
首先這是個(gè)正則式驗(yàn)證,用來(lái)驗(yàn)證輸入值的規(guī)則;
當(dāng)輸入值的鍵盤抬起時(shí)觸發(fā)這個(gè)事件。this.value表示此輸入框的值,/\D/g為正則表達(dá)式,用來(lái)匹配所有非數(shù)字字符;
此句功能為:將輸入值為非數(shù)字的字符替換為空;
正則表達(dá)式2
<input type="text" name="code" id="code" οnkeyup="this.value=code.value.replace(/[^0-9]/g,'')"? onafterpaste="this.value=code.value.replace(/[^0-9]/g,''" maxlength="10">中/[^0-9]/g這里的g是何含義?onafterpaste有何用途?
1./[^0-9]/g是正則表達(dá)式,這里加g是表示會(huì)替換字符串中所有出現(xiàn)和正則表達(dá)式模式匹配的字串。如過(guò)不加的話,會(huì)只替換出現(xiàn)的第一個(gè)匹配。
比如:字符串 thisthisthat,用/this/正則去替換:
"thisthisthat".replace(/this/,"that")結(jié)果是:thatthisthat //只替換了第一個(gè)
但用/this/g去替換結(jié)果則是:thatthatthat //所有的this都被替換了。
2.onafterpaste表示在粘貼內(nèi)容后觸發(fā)相應(yīng)的操作。這個(gè)例子里是為了在往文本框粘貼后替換所有的非數(shù)字字符。
<input type="text" οnkeyup="this.value=this.value.replace(/[^\d]/g,'') " onafterpaste="this.value=this.value.replace(/[^\d]/g,'') " name="f_order" value="1"/>?
其中,onafterpaste防止用戶從其它地方copy內(nèi)容粘貼到輸入框?
輸入框只能輸入字母和下橫線的正則表達(dá)式?
<input οnkeyup="this.value=this.value.replace(/[^_a-zA-Z]/g,'')" οnpaste="this.value=this.value.replace(/[^_a-zA-Z]/g,'')">?
輸入框只能輸入字母數(shù)字和下橫線的正則表達(dá)式?
<input οnkeyup="this.value=this.value.replace(/[^\w]/g,'')" οnpaste="this.value=this.value.replace(/[^\w]/g,'')">?
或?
<input οnkeyup="this.value=this.value.replace(/[\W]/g,'')" οnpaste="this.value=this.value.replace(/[\W]/g,'')">
用正則表達(dá)式限制文本框只能輸入數(shù)字,小數(shù)點(diǎn),英文字母,漢字等各類代碼
1.文本框只能輸入數(shù)字代碼(小數(shù)點(diǎn)也不能輸入)
<input οnkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
2.只能輸入數(shù)字,能輸小數(shù)點(diǎn).
<input οnkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<input name=txt1 οnchange="if(/\D/.test(this.value)){alert('只能輸入數(shù)字');this.value='';}">
3.數(shù)字和小數(shù)點(diǎn)方法二
<input type=text t_value="" o_value="" οnkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" οnkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" οnblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}">
4.只能輸入字母和漢字
<input οnkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">
5.只能輸入英文字母和數(shù)字,不能輸入中文
<input οnkeyup="value=value.replace(/[^\w\.\/]/ig,'')">
6.只能輸入數(shù)字和英文<font color="Red">chun</font>
<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">
7.小數(shù)點(diǎn)后只能有最多兩位(數(shù)字,中文都可輸入),不能輸入字母和運(yùn)算符號(hào):
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">
8.小數(shù)點(diǎn)后只能有最多兩位(數(shù)字,字母,中文都可輸入),可以輸入運(yùn)算符號(hào):
<input οnkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">
轉(zhuǎn)載于:https://www.cnblogs.com/Codenewbie/p/3343553.html
總結(jié)
以上是生活随笔為你收集整理的HTML 限制文本框只能输入特定字符(比如数字 onkeyup+onafterpaste)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Gradle 入门
- 下一篇: 360收藏夹html文件,360浏览器收