输入限制,这里常用的都有了,表单验证里经常能用得着。
来自:javascript论坛
<script> function regInput(obj, reg, inputStr) { var docSel = document.selection.createRange() if (docSel.parentElement().tagName != "INPUT") return false oSel = docSel.duplicate() oSel.text = "" var srcRange = obj.createTextRange() oSel.setEndPoint("StartToStart", srcRange) var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length) return reg.test(str) } </script> 小写英文:<xmp style= "display:inline"> </xmp> <input onkeypress = "return regInput(this, /^[a-z]*$/, String.fromCharCode(event.keyCode))" onpaste = "return regInput(this, /^[a-z]*$/, window.clipboardData.getData('Text'))" ondrop = "return regInput(this, /^[a-z]*$/, event.dataTransfer.getData('Text'))" style="ime-mode:Disabled" ><br> 大写英文:<xmp style= "display:inline"> </xmp> <input onkeypress = "return regInput(this, /^[A-Z]*$/, String.fromCharCode(event.keyCode))" onpaste = "return regInput(this, /^[A-Z]*$/, window.clipboardData.getData('Text'))" ondrop = "return regInput(this, /^[A-Z]*$/, event.dataTransfer.getData('Text'))" style="ime-mode:Disabled"> <br> 任意数字:<xmp style="display:inline"> </xmp> <input onkeypress = "return regInput(this, /^[0-9]*$/, String.fromCharCode(event.keyCode))" onpaste = "return regInput(this, /^[0-9]*$/, window.clipboardData.getData('Text'))" ondrop = "return regInput(this, /^[0-9]*$/, event.dataTransfer.getData('Text'))" style="ime-mode:Disabled" ><br> 限2位小数:<xmp style="display:inline"> </xmp> <input onkeypress = "return regInput(this, /^\d*\.?\d{0,2}$/, String.fromCharCode(event.keyCode))" onpaste = "return regInput(this, /^\d*\.?\d{0,2}$/, window.clipboardData.getData('Text'))" ondrop = "return regInput(this, /^\d*\.?\d{0,2}$/, event.dataTransfer.getData('Text'))" style="ime-mode:Disabled" > 如: 123.12<br> 日 期:<xmp style="display:inline"> </xmp> <input onkeypress = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/, String.fromCharCode(event.keyCode))" onpaste = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/, window.clipboardData.getData('Text'))" ondrop = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/, event.dataTransfer.getData('Text'))" style="ime-mode:Disabled" > 如: 2002-9-29<br> 任意中文:<xmp style="display:inline"> </xmp> <input onkeypress = "return regInput(this, /^$/, String.fromCharCode(event.keyCode))" onpaste = "return regInput(this, /^[\u4E00-\u9FA5]*$/, window.clipboardData.getData('Text'))" ondrop = "return regInput(this, /^[\u4E00-\u9FA5]*$/, event.dataTransfer.getData('Text'))" ><br> 部分英文:<xmp style="display:inline"> </xmp> <input onkeypress = "return regInput(this, /^[a-e]*$/, String.fromCharCode(event.keyCode))" onpaste = "return regInput(this, /^[a-e]*$/, window.clipboardData.getData('Text'))" ondrop = "return regInput(this, /^[a-e]*$/, event.dataTransfer.getData('Text'))" style="ime-mode:Disabled" > 范围: a,b,c,d,e<br> 部分中文:<xmp style="display:inline"> </xmp> <script language=javascript> function checkChinese(oldLength, obj) { var oTR = window.document.selection.createRange() var reg = /[^一二三四五六七八九十]/g oTR.moveStart("character", -1*(obj.value.length-oldLength)) oTR.text = oTR.text.replace(reg, "") } </script> <input onkeypress="return false" onkeydown="setTimeout('checkChinese('+this.value.length+','+this.uniqueID+')', 1)" onpaste = "return regInput(this, /^[一二三四五六七八九十]*$/, window.clipboardData.getData('Text'))" ondrop = "return regInput(this, /^[一二三四五六七八九十]*$/, event.dataTransfer.getData('Text'))" > 范围: 一二三四五六七八九十<br>
转载声明: 出自: Ghoul To World!作者: GreatGhoul
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.