1.文本框输入限制
实现限制输入大、小写英文,数字,浮点小数,日期,中文,部分英文,部分中文等众多功能。直接加入到html代码中即可使用。
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)
}
小写英文:
onpaste = "return regInput(this, /^[a-z]*$/,
window.clipboardData.getData('Text'))"
ondrop = "return regInput(this, /^[a-z]*$/,
event.dataTransfer.getData('Text'))"
style="ime-mode:Disabled">
大写英文:
onpaste = "return regInput(this, /^[A-Z]*$/,
window.clipboardData.getData('Text'))"
ondrop = "return regInput(this, /^[A-Z]*$/,
event.dataTransfer.getData('Text'))"
style="ime-mode:Disabled">
任意数字:
onpaste = "return regInput(this, /^[0-9]*$/,
window.clipboardData.getData('Text'))"
ondrop = "return regInput(this, /^[0-9]*$/,
event.dataTransfer.getData('Text'))"
style="ime-mode:Disabled">
限2位小数:
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
日 期:
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
任意中文:
onpaste = "return regInput(this,
/^[\u4E00-\u9FA5]*$/,
window.clipboardData.getData('Text'))"
ondrop = "return regInput(this,
/^[\u4E00-\u9FA5]*$/,
event.dataTransfer.getData('Text'))">
部分英文:
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
部分中文:
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, "")
}
"setTimeout('checkChinese('+this.value.length+','+this.uniqueID+')',
1)"
onpaste = "return regInput(this,
/^[一二三四五六七八九十]*$/,
window.clipboardData.getData('Text'))"
ondrop = "return regInput(this, /^[一二三四五六七八九十]*$/,
event.dataTransfer.getData('Text'))">
范围: 一二三四五六七八九十
2.不能展开右键,不能全选,不能复制的实现
onkeypress="window.event.returnvalue=false"
onkeydown="window.event.returnvalue=false"
onkeyup="window.event.returnvalue=false"
ondragstart="window.event.returnvalue=false"
onselectstart="event.returnvalue=false">
...
3.禁止页面正文内容被选取
onselectstart ="return false"
onselect="document.selection.empty()"
oncopy="document.selection.empty()" onbeforecopy="return
false"onmouseup="document.selection.empty()">
4.避免别人把网页放在框架中