惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
The Cloudflare Blog
爱范儿
爱范儿
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
Last Week in AI
Last Week in AI
Jina AI
Jina AI
V
V2EX
罗磊的独立博客
V
Visual Studio Blog
A
About on SuperTechFans
IT之家
IT之家
P
Proofpoint News Feed
B
Blog
博客园 - Franky
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog

博客园 - ie421

无法解决 equal to 操作中的 **** 和 *******排序规则冲突 xml特殊字符 PowerDesigner备忘录 UML基础: 统一建模语言简介 十年MFC经历认识的Microsoft技术 vc++2008常见错误处理 远离"电脑颈" 网址 高质量C++/C编程指南 作一个真正合格程序员的七种素质(转载) [模板 转载]JavaScript Template JST模板引擎----Trimpath SQL 查找重复记录 【转】VC 常用插件和界面库 SQL2005删除用户的时候,产生“数据库主体在该数据库中拥有架构,无法删除”的解决办法 关于怎么学习API (OpenGL/Direct3D等) -针对初学者 给C++初学者的50个忠告 修练8年C++面向对象程序设计之体会 IE+JS: 上传之前检测图片文件大小 怎么为页面上的input控件在刷新页面后保存值
文本输入限制正则 英文、中文、数字、日期等
ie421 · 2008-08-30 · via 博客园 - ie421

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