javascript 各种禁用

本文介绍了HTML中实现多种输入限制的功能,包括字符类型、大小写、数字、浮点数、日期、中文与英文组合等,并详细阐述了如何禁止右键展开、全选、复制功能及页面正文内容选取。此外,还提供了避免网页被嵌入框架的技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.避免别人把网页放在框架中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值