艾研之家

书山有路勤为径,学海无涯苦作舟!

一个文本框输入限制

<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>


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«   2017年3月   »
12345
6789101112
13141516171819
20212223242526
2728293031
搜索
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
文章归档
站点信息
  • 文章总数:17
  • 页面总数:0
  • 分类总数:13
  • 标签总数:20
  • 评论总数:1
  • 浏览总数:38469
友情链接
图标汇集
  • RainbowSoft Studio Z-Blog
  • 订阅本站的 RSS 2.0 新闻聚合