使用cheerio
cheerio是jquery核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM进行操作的地方,让你在服务器端和html愉快的玩耍
快到没朋友
cheerio使用了及其简洁而又标准的DOM模型, 因此对文档的转换,操作,渲染都极其的高效。基本的端到端测试显示它的速度至少是JSDOM的8倍
provider函数对课程表进行解析
1 | function scheduleHtmlProvider(dom = document) { |
cheerio是jquery核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM进行操作的地方,让你在服务器端和html愉快的玩耍
cheerio使用了及其简洁而又标准的DOM模型, 因此对文档的转换,操作,渲染都极其的高效。基本的端到端测试显示它的速度至少是JSDOM的8倍
1 | function scheduleHtmlProvider(dom = document) { |
var reg = /a{3}/; //aaa
reg = /(ab){3}/; //ababab
reg = /ab{3}c/; //abbbc
reg = /b{3}/; //bbb
reg = /ab{1,3}c/; //a b出现1~3次 c
reg = /ab{3,}c/; //a b出现3次以上 c
reg = /ab+c/; //a b至少一个 c
reg = /ab*c/;
reg = /ab?c/;
reg = /^a/;
reg = /a$/;
reg = /^a$/; //只能匹配a,而不是以a开头+以a结尾
reg = /^a|a$/; //以a开头或以a结尾
reg = /^(a).*(a)$/; //以a开头和以a结尾
\.来表示 .
\\ 表示 \
\w 表示任意字母、数字_ [A-z0-9_]
\W除了字母、数字、_ [^A-z0-9_]
\d 任意数字[0-9]
\D 除了任意数字[^0-9]
\s 空格
\S 除了空格
\b 单词边界
去除字符串中前后的空格
str = str.replace(/\s/g,""); //去除所有的空格
str = str.replace(/^\s*|\s*$/g,""); //去除字符串开头和结尾的空格
reg = /\bchild\b/; //表示 "hello child" 匹配其中的child
var reg = /./;
电子邮件hello@abc.com.cn
任意字母数字下划线 .任意字母数字下划线@ 任意字母数字 .任意字母(2-5)位 .任意字母(2-5位)
/^\w{3,} (\. \w)* @ [A-z0-9] \. ([A-z]{2-5} \. [A-z]{2-5}){1,2}$/
/^\w{3,} (\.\w)*@[A-z0-9]\.([A-z]{2-5}\.[A-z]{2-5}){1,2}$/
浏览器已经为我们提供了文档节点对象,这个对象是window属性
可以在页面中直接使用,文档节点代表的是整个网页
ondbclick 双击
onmousemove 鼠标移动上面
1 | btn.onclick = function(){ |
1 | btn.onclick = function(){ |
1 | window.onload = function(){ |
var btn = document.getElementById("btn");
var inputs = document.getElementsByName("gender");
console(inputs[i].value);
1 | <!DOCTYPE html> |
//本节新加
var city = document.getElementById("city");
var lis = city.getElementsByTagName("li");
var city = document.getElementById("city");
var cns = city.childNodes;
var city = document.getElementById("city");
var cns2 = city.children;
var fir = phone.firstChild;
//也可以是 var fir = phone.childNodes[0];
fir = phone.firstElementChild;
var la = phone.lastChild;