获取的输入内容,没有被P标签包裹的文本和元素进行处理
生活随笔
收集整理的這篇文章主要介紹了
获取的输入内容,没有被P标签包裹的文本和元素进行处理
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>將沒(méi)有p標(biāo)簽的元素補(bǔ)充</title>
</head>
<body>
<textarea id="text" style="width: 600px;height: 300px">"如果1.9×<i>a</i>=<i>b</i>-1.9(<i>a</i>>0,<i>b</i>>0),那么(??)。"123213<p>123123213232323</p>
</textarea>
<button id="jiaoyao">校驗(yàn)</button>
<p id="content"></p>
</body>
<script src="./Script/jquery-1.10.2.js"></script>
<script>$("#jiaoyao").click(function () {$("#content").text(xxx($("#text").val()));})function xxx(str) {var rdiv = $('<div></div>');rdiv.html(str);var numbers = rdiv.children();if (rdiv.find("p").length > 0) {//按照<p></p>劃分,沒(méi)有的補(bǔ)充pvar childNodes = rdiv.get(0).childNodes;var newhtml = $('<div></div>');for (var i = 0; i < childNodes.length; i++) {var newElement = document.createElement('p');while (i < childNodes.length && childNodes[i].tagName != "P" && childNodes[i].tagName != "DIV" && childNodes[i].tagName != "IMG") {if (childNodes[i].nodeName == "#text") {newElement.innerHTML += childNodes[i].nodeValue;} else {newElement.innerHTML += childNodes[i].outerHTML;}i++;}if (newElement.innerHTML.length > 0) {newhtml.append(newElement);} else {newhtml.append(childNodes[i]);}//i--不僅是因?yàn)閕++數(shù)值變大,而且由于append導(dǎo)致childNodes減少
i--;}console.log(newhtml.html());numbers = newhtml.children();str = newhtml.html();} else {var rp = "<p>" + str + "</p>";return rp;}var lastdata = new Array();for (var i = 0; i < numbers.length; i++) {//判斷是否是p標(biāo)簽if (numbers[i].tagName == "P") {var rdiv3 = $('<div></div>');$(numbers[i]).appendTo(rdiv3);if (jugdePContent(rdiv3.html()) == 0) {lastdata.push(i);}}if (numbers[i].tagName == "DIV") {lastdata.push(i);}if (numbers[i].tagName == "IMG") {lastdata.push(i);}}var str2 = str;var rdiv2 = $('<div></div>');var rdiv4 = $('<div></div>');rdiv2.html(str2);var inputs2 = rdiv2.children();for (var i = 0; i < inputs2.length; i++) {for (var j = 0; j < lastdata.length; j++) {if (i == lastdata[j]) {$(inputs2[i]).appendTo(rdiv4);}}}return rdiv4.html();}//判斷富文本編輯器中標(biāo)簽是否有效function jugdePContent(data1) {var lastdata = new Array();//匹配圖片var reg1 = /<img/g;//匹配數(shù)字,小寫字母,大寫字母var reg2 = /[0-9a-zA-Z]+/g;//匹配所有中文漢字var reg3 = /[\u4E00-\u9FA5]+/g;//匹配空格 換行var reg4 = /[ \r\n]/g;//匹配公式var reg10 = /mathrc mce/g;//匹配省略號(hào)......var reg11 = /……/g;//定義判斷p是否有效的變量var rdiv = $('<div></div>');rdiv.html(data1);if (rdiv.find("div").length > 0) {return 0;}if (rdiv.find("p").length > 1) {return 0;}if (rdiv.find("img").length > 0) {return 0;}var ptemp = rdiv.find("p")[0];var flag = 0;if (ptemp.innerText != "") {var sadfads = ptemp.innerText;//判斷是否有中文if (sadfads.match(reg3)) {flag = 1;}//判斷是否有數(shù)字,小寫字母,大寫字母if (sadfads.match(reg2)) {flag = 1;}var sadfads2 = $(ptemp).html();//判斷是否有圖片if (sadfads2.match(reg1)) {flag = 1;}//判斷是否有公式if (sadfads2.match(reg10)) {flag = 1;}//判斷是否有省略號(hào)if (sadfads2.match(reg11)) {flag = 1;}}//刪除所有<span>,<br> "\r\n "標(biāo)簽
// $(ptemp).find("span").remove();
$(ptemp).find("br").remove();var sadfads3 = $(ptemp).html();//判斷是否有換行
sadfads3 = sadfads3.replace(reg4, "");if (sadfads3 != "") {flag = 1;}if (flag == 1) {return 0;}return 1;}
</script>
</html>
?
轉(zhuǎn)載于:https://www.cnblogs.com/sanqianjin/p/9376659.html
總結(jié)
以上是生活随笔為你收集整理的获取的输入内容,没有被P标签包裹的文本和元素进行处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mininet 系列实验(一)
- 下一篇: 微信小程序开发02-小程序基本介绍