用javascript来限制文本框的一些文本输入
来源:程序员人生 发布时间:2013-11-14 15:56:49 阅读次数:2464次
<scrīpt>
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)
}
</scrīpt>
小写英文:<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>
<scrīpt language=javascrīpt>
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, "")
}
</scrīpt>
<input
onpaste = "return regInput(this, /^[一二三四五六七八九十]*$/, window.clipboardData.getData('Text'))"
ondrop = "return regInput(this, /^[一二三四五六七八九十]*$/, event.dataTransfer.getData('Text'))"
> 范围: 一二三四五六七八九十<br>
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠