文本限制输入 javascript

<script>
 function regInput(reg)
 {
  var srcElem = event.srcElement
  var oSel = document.selection.createRange()
  var srcRange = srcElem.createTextRange()
  oSel.setEndPoint("StartToStart", srcRange)
  var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
  event.returnValue = reg.test(num)
 }
</script>

小写英文:<xmp style="display:inline"> </xmp><input id=test onkeypress="regInput(/^[a-z]*$/)" style="ime-mode:Disabled"><br>
大写英文:<xmp style="display:inline"> </xmp><input id=test onkeypress="regInput(/^[A-Z]*$/)" style="ime-mode:Disabled"><br>
任意数字:<xmp style="display:inline"> </xmp><input id=test onkeypress="regInput(/^[0-9]*$/)" style="ime-mode:Disabled"><br>
限2位小数:<xmp style="display:inline"> </xmp><input id=test onkeypress="regInput(/^\d*\.?\d{0,2}$/)" style="ime-mode:Disabled"> 如: 123.12<br>
日   期:<xmp style="display:inline"> </xmp><input id=test onkeypress="regInput(/^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/)" style="ime-mode:Disabled"> 如: 2002-9-29<br>
任意中文:<xmp style="display:inline"> </xmp><input onkeypress="regInput(/^$/)"><br>
部分英文:<xmp style="display:inline"> </xmp><input onkeypress="regInput(/^[a-e]*$/i)"  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()
 oTR.moveStart("character", -1*(obj.value.length-oldLength))
 oTR.text = oTR.text.replace(/[^一二三四五六七八九十]/g, "")
}
</script>
<input onkeypress="return false" onkeydown="setTimeout('checkChinese('+this.value.length+','+this.uniqueID+')', 1)"> 范围: 一二三四五六七八九十<br>

 

 

 

function regInput(reg){
    if( reg == "") return false ;
    var srcElem = event.srcElement
    var oSel = document.selection.createRange()选中的TEXTRANGE对象
    oSel = oSel.duplicate()选中的TEXTRANGE对象副本
    oSel.text = ""选中的TEXTRANGE对象为空
    var srcRange = srcElem.createTextRange()
    oSel.setEndPoint("StartToStart", srcRange)
    var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
    event.returnValue = reg.test(num)
}

posted @ 2009-03-03 14:38  XGU_Winner  阅读(124)  评论(0编辑  收藏  举报