方法一:這裡隻能輸入數字:<br>
<input type=text name=txtPostalCode onKeypress="if (event.keyCode < 45 || event.keyCode >
57) event.returnValue = false;">
bug:這個好像有bug ,如果按住一個鍵不松,那麼就可以輸入其他字元。
方法二:<INPUT TYPE="text" οnkeyup="this.value=this.value.replace(/[^/d*]/,'')">
bug:這兩個都有BUG,我複制一些東西就可以粘在裡面了,而且什麼都能粘!!!
改進:<INPUT TYPE="text" οnkeyup="this.value=this.value.replace(/[^/d*]/,'')"
οnpaste="return false">
這樣你就沒法粘貼了:-p
onpaste好像需要的浏覽器版本高點吧,好像至少要5.5吧
經測試正确無誤的辦法有如下三種:
1。<input οnkeyup="this.value=this.value.replace(//D/g,'')"
onafterpaste="this.value=this.value.replace(//D/g,'')">
2。<input name=txt1 οnchange="if(//D/.test(this.value)){alert('隻能輸入數
字');this.value='';}">
3。<input οnkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))
execCommand('undo')">
input進階限制級用法
1.取消按鈕按下時的虛線框
在input裡添加屬性值 hideFocus 或者 HideFocus=true
2.隻讀文本框内容
在input裡添加屬性值 readonly
3.防止退後清空的TEXT文檔(可把style内容做做為類引用)
<INPUT style=behavior:url(#default#savehistory); type=text id=oPersistInput>
4.ENTER鍵可以讓光标移到下一個輸入框
<input οnkeydοwn="if(event.keyCode==13)event.keyCode=9" >
5.隻能為中文(有閃動)
<input οnkeyup="value="/value.replace(/[" -~]/g,'')" οnkeydοwn="if(event.keyCode==13)
event.keyCode=9">
6.隻能為數字(有閃動)
<input οnkeyup="value="/value.replace(/["^/d]/g,'')
"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/
[^/d]/g,''))">
7.隻能為數字(無閃動)
<input style="ime-modedisabled" οnkeydοwn="if(event.keyCode==13)event.keyCode=9"
onKeyPress="if ((event.keyCode<48 || event.keyCode>57)) event.returnValue=false">
8.隻能輸入英文和數字(有閃動)
<input οnkeyup="value="/value.replace(/[/W]/g,"'')
"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/
[^/d]/g,''))">
9.屏蔽輸入法
<input type="text" name="url" style="ime-modedisabled" οnkeydοwn="if
(event.keyCode==13)event.keyCode=9">
10. 隻能輸入 數字,小數點,減号(-) 字元(無閃動)
<input onKeyPress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 ||
event.keyCode>57)) event.returnValue=false"> (注意:keyCode=45表示減号“-”)
11. 隻能輸入兩位小數,三位小數(有閃動)
<input maxlength=9 οnkeyup="if(value.match(/^/d{3}$/))value="/value.replace
(value,parseInt(value/10))" ;value="/value.replace(//./d*/./g,'."')" onKeyPress="if
((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 && event.keyCode!=45 ||
value.match(/^/d{3}$/) || //./d{3}$/.test(value)) {event.returnValue=false}" id=text_kfxe
name=text_kfxe>
文本框獲得焦點後,将光标定位到文本框裡的字元串的末尾
<HTML>
<HEAD>
<SCRIPT>
function setCaretAtEnd (field) {
if (field.createTextRange) {
var r = field.createTextRange();
r.moveStart('character', field.value.length);
r.collapse();
r.select();
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="aForm">
<INPUT TYPE="text" NAME="userName" VALUE="測試文字" ONFOCUS="setCaretAtEnd(this)">
<INPUT TYPE="text" NAME="userAge" VALUE="測試文字" ONFOCUS="setCaretAtEnd(this)">
</FORM>
</BODY>
</HTML>