获取的输入内容,没有被P标签包裹的文本和元素进行处理
<!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标签包裹的文本和元素进行处理相关推荐
- Console.ReadLine(); 获取用户输入内容
Console.ReadLine(); 用于让用户从键盘上输入一句话,当程序执行到这句话时程序就会自动暂停等待用户输入,按回车继续执行,如果想得到用户输入内容,就须要定义一个字符串类型的变量来接收 代 ...
- PyQt5 技术篇-调用输入对话框(QInputDialog)获取用户输入内容。
常用的四种输入对话框 QInputDialog.getText() # 返回字符串 QInputDialog.getInt() # 返回整数 QInputDialog.getDouble() # 返回 ...
- php文本框输入内容过滤,为什么没能过滤掉文本框输入的所有反斜杠?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 // define variables and set to empty values $name = $email = $gender = $comme ...
- php中插入表格 标签,PHP_HTML中的表格元素,一,table标签。tablegt - phpStudy
HTML中的表格元素 一, 1,border属性的参数值是数字,表示表格边框宽度所占的像素点数.它也可以不带有参数值使用,仅表示该表格是有边框的.例如, 2,width和height属性的作用是指定表 ...
- 利用Jqurey写一个输入内容增加并且可以删除,上下移动的标签
最终结果如下,输入内容增加标签并且可以删除,上下移动: 代码赏析: <!DOCTYPE html> <html lang="en"> <head> ...
- xpath 取标签下所有文字内容_对Xpath 获取子标签下所有文本的方法详解
对Xpath 获取子标签下所有文本的方法详解 在爬虫中遇见这种怎么办 想提取名称, 但是 名称不在一个标签里 使用xpath string()方法 例如 data.xpath("string ...
- Android获取软键盘输入内容
该功能的实现是通过Android辅助功能来进行实现的, 先上效果图: 下面说一下如何使用Acc ...
- 前端 获取 扫码枪等扫码设备输入内容:2种方式
方式一: 只有有输入焦点,扫码枪就可以把结果打印出来.其实就是相当于我们的键盘输入扫码枪会在打印完成后执行回车键.这样当页面不需要输入框没有焦点可以输入时,可以通过监听键盘事件来获取到扫码枪输入的内容 ...
- BeautifulSoup 获取 a标签里的文本内容
说明 想要获取 a标签里的单词如下所示. 代码 from bs4 import BeautifulSoupf = open("word.txt", "r") # ...
最新文章
- 又学一招,记录之,数字日期互转
- Redis 集群规范
- Advice for Students--开始学术研究
- 质因数的个数 (分解质因数)
- JavaScript中使Promise模式进行异步编程
- 蓝牙打印和网口打印的实现
- pythoning——11、正则匹配
- npm WARN stylus-loader@3.0.2 requires a peer of stylus@>=0.52.4 but none is installed. You must inst
- [WebKit] JavaScriptCore解析--高级篇(一) SSA (static single assignment)
- python数学实验与建模_Python数学
- [FW]修复ubutnu12.04+win7的grub2引导
- zabbix监控之模板使用、网络发现及邮件报警功能
- Android UI学习之SeekBar
- 用java写一个双色球的彩票程序(源码)
- matlab中怎么计算信噪比,如何计算通信中的信噪比SNR
- 博客导航——一站式搜索
- 【攻防世界WEB】难度三星9分入门题(上):simple_js、mfw
- 入耳式降噪耳机推荐,音质表现好的降噪耳机推荐
- luhn算法 java_java – 使用luhn算法验证信用卡号
- 树莓派 小车java_树莓派小车之前进和后退(创乐博套件)
热门文章
- How to Visualize Your Recurrent Neural Network with Attention in Keras
- How HBO’s Silicon Valley built “Not Hotdog” with mobile TensorFlow, Keras React Native
- MXNet设计和实现简介
- JZOJ 5490. 【清华集训2017模拟11.28】图染色
- JZOJ 5186. 【NOIP2017提高组模拟6.30】tty's home
- 卸料装置弹性零件的计算方法_冲裁模卸料板的设计
- python3华丽gui_Python3.7 - tkinter Gui 03 Options的用法
- python获取当前时间代码_python当前时间格式化代码
- c malloc 头文件_C语言提高篇_malloc,realloc和calloc的区别
- matlab常用命令参考