js-onbeforepaste详解

我们经常在表单的文本框中做一些验证处理,大家一般都是是限制那些具体要求的输入,而没有考虑到个别用户出于种种原因将文字粘贴到表单的文本域中,这样还是避免不了那些特殊的输入。

onbeforepaste顾名思义:在用户执行粘贴工作之前,进行的js操作。下面请看例子:

 

<input onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4e00-\u9fa5]/g,''))" >

意思就是:在用户将要粘贴的内容粘入文本框时,clipboardData.getData先读出要粘贴的内容,删除不是汉字的字符,只保留汉字,clipboardData.setData将处理好的字符复制到剪切板,显示在文本框中。

<input onKeyUp="value=value.replace(/[^\d]/g,'') "                 onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" />

这个的话就是第一个的升级版,多了一个onKeyUp属性,这样写既考虑了手动输入的,也考虑了粘贴,完美!!!(第二个是只允许输入数字)

附加:js剪切板应用clipboardData(window的子对象)对象:提供了对剪贴板的访问。 
三个方法 
1.ClearData(sDataFormat) 删除剪贴板中指定格式的数据。 
2.GetData(sDataFormat) 从剪贴板获取指定格式的数据。 
3.SetData(sDataFormat, sData) 给剪贴板赋予指定格式的数据,返回 true 表示操作成功。

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值