JavaScript получить обычный текст буфера обмена с вводом данных о событии вставки (кросс-браузер) - PullRequest
0 голосов
/ 20 февраля 2020

Как веб-приложение может обнаружить событие вставки и извлечь данные для вставки?

Я хотел бы удалить все теги HTML, CSS и другие вещи, кроме обычного текста и ввода.

Он также будет работать во всех основных браузерах, таких как Google Chrome, Firefox, IE, Edge, Safari, Opera и др. c.

<div placeholder="Share Something ?" contenteditable="true" id="post"></div>

if (document.querySelector('#post[contenteditable]')) {
    document.querySelector('#post[contenteditable]').addEventListener("paste", function(e) {
      e.preventDefault();
      var text = e.clipboardData.getData("text");
      document.execCommand("insertHTML", false, text);
    });
}
.

1 Ответ

0 голосов
/ 20 февраля 2020

$("#inputText").bind("paste", function(e){
    var pastedData = e.originalEvent.clipboardData.getData('text');
    var regex = /^[a-zA-Z0-9@]+$/;
  	if (regex.test(pastedData) !== true) {    		
    		alert("You can enter only plain text");
        setTimeout(function(){
        	$("#inputText").html('');
        },100)
    } else {
    		alert("Valid text");
    }
});
#inputText {
  border:1px solid #000;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div placeholder="Share Something ?" id="inputText" contenteditable="true"></div>

Вы можете связать событие вставки в текстовое поле ввода. Для простого текста вы должны использовать регулярное выражение для проверки текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...