如何在OnPaste方法中清除文本区域

how to clear the textarea in onpaste method?

本文关键字:清除 文本 区域 方法 OnPaste      更新时间:2023-09-26
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function onPasteMe(pObj) 
{     
// validate  pasted text     
var input  = window.clipboardData.getData('Text'); 
document.getElementById("txt1").value = input ;
var m= stripCharacters(input,pObj) ;
    if(m)
    {
 input=input.replace(/['s]/g,''r'); 
 var n=input.split(/'r/g).length; 
 alert(n);
    }
  }
function stripCharacters(input,pObj) {
var r = new RegExp("[^''s''r''t''n0-9]", "g");
var find = input.match(r) ;      
if(find)
   {   
 alert('String contains both alpha-numeric or your pre-defined special characters!');  
 pObj.innerHTML = ""; 
 return false; 
   }
 return true; 
}
</script>
</head>
<body>
<textarea cols=19 id = "txt1" onPaste="onPasteMe(this);"></textarea>
</body>
</html>

如果我在文本区域中粘贴数字,例如1233445粘贴的值应该出现在文本区域中,但是如果我粘贴诸如assdfsdf 123243'或2313adsdad之类的值,则文本区域应该会自动清除???

i used below codes but its not worked for me please help,
pObj.innerHTML = "";
document.getElementById("txt1").value =""; 
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function onPasteMe(pObj) 
{     
// validate  pasted text     
var input  = window.clipboardData.getData('Text'); 
document.getElementById("txt1").value = input ;
var m= stripCharacters(input,pObj) ;
    if(m)
    {
 input=input.replace(/['s]/g,''r'); 
 var n=input.split(/'r/g).length; 
 alert(n);
    }
    return false;
  }
function stripCharacters(input,pObj) {
var r = new RegExp("[^''s''r''t''n0-9]", "g");
var find = input.match(r) ;      
if(find)
   {   
 alert('String contains both alpha-numeric or your pre-defined special characters!');  
 pObj.value = ""; 
 return false; 
   }
 return true; 
}
</script>
</head>
<body>
<textarea cols=19 id = "txt1" onPaste="return onPasteMe(this);"></textarea>
</body>
</html>
  1. 您应该使用 pObj.value=" 来清空文本区域。
  2. 你需要为 onPaste(( 函数返回 false。

首先,不完全支持
onPaste参考:JavaScript 在粘贴事件上获取剪贴板数据(跨浏览器(