`
JavaSam
  • 浏览: 934095 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

input onpaste事件

 
阅读更多
function afterPaste() {
    var clipData = clipboardData;
    var text = clipData.getData('text'); //剪贴板数据 
    var reg = /\s/g;
    var ntxt = text.replace(reg, "");
    var that = this;
    //this.value = ntxt; 这种方式不行 必须setTimeout() 
    setTimeout(function() {
        document.querySelector("#temp").value = ntxt
    },
    1);
}



function beforePaste() {
    var clipData = clipboardData;
    var text = clipData.getData('text'); //剪贴板数据     
    var reg = /\s/g;
    var ntxt = text.replace(reg, "");
    clipData.setData("text", ntxt);
}

   
/*

页面中input是不能粘贴进去换行符的的例如(ff,chrome会自动替换换行符,所以如果是chrome或者ff的话就不需要此方法了


####

123123123
撒的发生的发斯蒂芬
阿萨德发斯蒂芬

###

粘贴到input时只能留下123123123。

 

 解决的办法有两种

1.将input换成textarea,缺点textarea不能提交到后台(原生)

 

2.自己写js将clipboardData中的数据处理后在赋给input。这里有两个方法可以处理

   2.1 onpaste (可以叫onafterpaste) 如果在这里边处理的话要用setTimeout(),不太优雅。

   2.2 onbeforepaste  这里边可以将剪贴板的值处理后再放回剪贴板,然后粘贴到input时就是正确的数据了(推荐),

 

   既然有第二种方法了为什么还要第一种方法呢,这是因为onbeforepaste方法只有ie浏览器支持,chrome,ff只有onpaste方法。如果为了兼容的话就只能用不优雅的地一种方法了。
*/
 

 

0
0
分享到:
评论

相关推荐

    JS验证input输入框(字母,数字,符号,中文)

    只能输入英文 ...onkeydown=fncKeyStop(event) onpaste=return false oncontextmenu=return false /> 无法粘贴,右键不会弹出粘贴菜单 只能输入数字: <input onkeyup=this.value=this.value.

    input禁止键盘及中文输入,但可以点击

    input>禁止键盘及中文输入,但又不能用readonly 而且还需兼容ie 和 ff , 为了完成这功能费了蛮大功夫,呵呵,在此记录以便日后之用;另外禁止粘贴 onpaste=”return false” 代码如下:<!DOCTYPE HTML PUBLIC ...

    JS只能输入数字或数字和字母等的正则表达式

    input onpaste=”return false;” type=”text” name=”textfield” style=”width:400px; ime-mode:disabled” value=””> 2) 代码如下: [removed] function chkIt(frm){ if (frm.n1.value.length>0&&frm.n1....

    解析使用js判断只能输入数字、字母等验证的方法(总结)

    input onpaste=”return false;” type=”text” name=”textfield” style=”width:400px; ime-mode:disabled” value=””>2)[removed]function chkIt(frm){if (frm.n1.value.length>0&&frm.n1.value.match(/...

    JS实现控制文本框的内容

    input onkeyup=”value=value.replace(/[^0-9]/g,”)” onpaste=”value=value.replace(/[^0-9]/g,”)” oncontextmenu = “value=value.replace(/[^0-9]/g,”)”> JS 控制文本框只能输入数字、小数点 <input ...

    js控制文本框输入的字符类型方法汇总

    input onkeyup=”value=value.replace(/[^0-9]/g,”)” onpaste=”value=value.replace(/[^0-9]/g,”)” oncontextmenu =”value=value.replace(/[^0-9]/g,”)”> JS 控制文本框只能输入数字、小数点 代码如下...

    网站开发制作40个技巧.txt

    1. oncontextmenu= "window.event.returnValue=false " 将彻底屏蔽鼠标右键 (false)> <td> no </table> 可用于Table 2. ... <input style= "ime-mode:disabled "> 关闭输入法

    点击文本框中按钮弹出日期

    onpaste="this.value=this.value.replace(/[^0-9]/g,'')"> 年 <input name="month" id="month" type="text" size="1" maxlength="2" onKeyDown="if (event.keyCode==13){setDate()}" onKeyUp="this.value=this.value...

    prevent-copy-paste:防止复制和粘贴的 Javascript 库

    防止复制粘贴 防止复制和粘贴的 Javascript 库。 这会为本身不支持它的浏览器的输入和文本区域注册“onpaste”属性。...-- Input with onpaste property --> <input type="text" onpaste="return false;" />

    只能输入正整数的正则表达式及常用的正则表达式

    input type='text' id='SYS_PAGE_JumpPage' name='SYS_PAGE_JumpPage' size='3' maxlength='5' onkeyup='this.value=this.value.replace(/[^1-9]/D*$/,)' ondragenter=return false onpaste=return !clipboardData....

    js使用小技巧

    <input type=text onpaste="return false"> 地址栏图标 <link rel="Shortcut Icon" href="favicon.ico"> favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下 收藏栏图标 查看源码 <input type=...

    JavaScript实用技巧集锦

    3. onpaste="return false" 不准粘贴 4. oncopy="return false;" oncut="return false;" 防止复制 5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标 6. ...

    FileUpload 控件 禁止手动输入或粘贴的实现代码

    input type=”text” name=”txt” onkeydown=”event.returnValue=false;” onpaste=”return false” /> 服务器控件: ”txt” runat=”server” xss=removed xss=removed></asp> 用FileUpload经常要禁止手动...

    40种在asp中使用技巧技巧

    3. onpaste="return false" 不准粘贴 4. oncopy="return false;" oncut="return false;" 防止复制 5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标 6. ...

    js控制文本框禁止输入特殊字符详解

    在开发难免遇到一些前端需要验证输入的数据是否合法的问题,收集分享在这里同学们使用,欢迎补充。 1.标签上直接替换方法: JS 控制不能输入特殊字符 ...input onkeyup=value=value.replace(/[^0-9]/g,'') onpaste=

    让html的text输入框只能输入数字和1个小数点(0-59之间可改)

    text 数字 ..." onpaste="return false" onkeydown="return check(event)" onkeyup="if(isNaN(this.value)||this.value59) this.value=’0′”> [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

    js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码

    input onkeyup="value=value.replace(/[^0-9]/g,'')"onpaste="value=value.replace(/[^0-9]/g,'')" oncontextmenu ="value=value.replace(/[^0-9]/g,'')"> JS 控制文本框只能输入数字、小数点 <...

    常用的80个网站设计技巧

    3. onpaste="return false" 不准粘贴 4. oncopy="return false;" oncut="return false;" 防止复制 5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标 6. ...

    javascript 密码框防止用户粘贴和复制的实现代码

    <input id=”password” type=”password” onpaste=”return false” onselectstart=”return false” /> onpaste=”return false”:防止粘贴 onselectstart=”return false”:防止自制

    js实现禁止中文输入的方法

    方法一:禁止中文输入法 <input type=”text” style=”ime-...input type=”text” onpaste=”return false” ondragenter=”return false” oncontextmenu=”return false;” style=”ime-mode:disabled”/>

Global site tag (gtag.js) - Google Analytics