<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>将没有p标签的元素补充</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">校验</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>划分,没有的补充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--不仅是因为i++数值变大,而且由于append导致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标签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();}//判断富文本编辑器中标签是否有效function jugdePContent(data1) {var lastdata = new Array();//匹配图片var reg1 = /<img/g;//匹配数字,小写字母,大写字母var reg2 = /[0-9a-zA-Z]+/g;//匹配所有中文汉字var reg3 = /[\u4E00-\u9FA5]+/g;//匹配空格 换行var reg4 = /[ \r\n]/g;//匹配公式var reg10 = /mathrc mce/g;//匹配省略号......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;}//判断是否有数字,小写字母,大写字母if (sadfads.match(reg2)) {flag = 1;}var sadfads2 = $(ptemp).html();//判断是否有图片if (sadfads2.match(reg1)) {flag = 1;}//判断是否有公式if (sadfads2.match(reg10)) {flag = 1;}//判断是否有省略号if (sadfads2.match(reg11)) {flag = 1;}}//删除所有<span>,<br> "\r\n "标签
//        $(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>

转载于:https://www.cnblogs.com/sanqianjin/p/9376659.html

获取的输入内容,没有被P标签包裹的文本和元素进行处理相关推荐

  1. Console.ReadLine(); 获取用户输入内容

    Console.ReadLine(); 用于让用户从键盘上输入一句话,当程序执行到这句话时程序就会自动暂停等待用户输入,按回车继续执行,如果想得到用户输入内容,就须要定义一个字符串类型的变量来接收 代 ...

  2. PyQt5 技术篇-调用输入对话框(QInputDialog)获取用户输入内容。

    常用的四种输入对话框 QInputDialog.getText() # 返回字符串 QInputDialog.getInt() # 返回整数 QInputDialog.getDouble() # 返回 ...

  3. php文本框输入内容过滤,为什么没能过滤掉文本框输入的所有反斜杠?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 // define variables and set to empty values $name = $email = $gender = $comme ...

  4. php中插入表格 标签,PHP_HTML中的表格元素,一,table标签。tablegt - phpStudy

    HTML中的表格元素 一, 1,border属性的参数值是数字,表示表格边框宽度所占的像素点数.它也可以不带有参数值使用,仅表示该表格是有边框的.例如, 2,width和height属性的作用是指定表 ...

  5. 利用Jqurey写一个输入内容增加并且可以删除,上下移动的标签

    最终结果如下,输入内容增加标签并且可以删除,上下移动: 代码赏析: <!DOCTYPE html> <html lang="en"> <head> ...

  6. xpath 取标签下所有文字内容_对Xpath 获取子标签下所有文本的方法详解

    对Xpath 获取子标签下所有文本的方法详解 在爬虫中遇见这种怎么办 想提取名称, 但是 名称不在一个标签里 使用xpath string()方法 例如 data.xpath("string ...

  7. Android获取软键盘输入内容

    该功能的实现是通过Android辅助功能来进行实现的, 先上效果图:                                                      下面说一下如何使用Acc ...

  8. 前端 获取 扫码枪等扫码设备输入内容:2种方式

    方式一: 只有有输入焦点,扫码枪就可以把结果打印出来.其实就是相当于我们的键盘输入扫码枪会在打印完成后执行回车键.这样当页面不需要输入框没有焦点可以输入时,可以通过监听键盘事件来获取到扫码枪输入的内容 ...

  9. BeautifulSoup 获取 a标签里的文本内容

    说明 想要获取 a标签里的单词如下所示. 代码 from bs4 import BeautifulSoupf = open("word.txt", "r") # ...

最新文章

  1. 又学一招,记录之,数字日期互转
  2. Redis 集群规范
  3. Advice for Students--开始学术研究
  4. 质因数的个数 (分解质因数)
  5. JavaScript中使Promise模式进行异步编程
  6. 蓝牙打印和网口打印的实现
  7. pythoning——11、正则匹配
  8. npm WARN stylus-loader@3.0.2 requires a peer of stylus@>=0.52.4 but none is installed. You must inst
  9. [WebKit] JavaScriptCore解析--高级篇(一) SSA (static single assignment)
  10. python数学实验与建模_Python数学
  11. [FW]修复ubutnu12.04+win7的grub2引导
  12. zabbix监控之模板使用、网络发现及邮件报警功能
  13. Android UI学习之SeekBar
  14. 用java写一个双色球的彩票程序(源码)
  15. matlab中怎么计算信噪比,如何计算通信中的信噪比SNR
  16. 博客导航——一站式搜索
  17. 【攻防世界WEB】难度三星9分入门题(上):simple_js、mfw
  18. 入耳式降噪耳机推荐,音质表现好的降噪耳机推荐
  19. luhn算法 java_java – 使用luhn算法验证信用卡号
  20. 树莓派 小车java_树莓派小车之前进和后退(创乐博套件)

热门文章

  1. How to Visualize Your Recurrent Neural Network with Attention in Keras
  2. How HBO’s Silicon Valley built “Not Hotdog” with mobile TensorFlow, Keras React Native
  3. MXNet设计和实现简介
  4. JZOJ 5490. 【清华集训2017模拟11.28】图染色
  5. JZOJ 5186. 【NOIP2017提高组模拟6.30】tty's home
  6. 卸料装置弹性零件的计算方法_冲裁模卸料板的设计
  7. python3华丽gui_Python3.7 - tkinter Gui 03 Options的用法
  8. python获取当前时间代码_python当前时间格式化代码
  9. c malloc 头文件_C语言提高篇_malloc,realloc和calloc的区别
  10. matlab常用命令参考