根据菜鸟教程(最近写好几个题都有正则表达,一直不很懂,准备看一手,还有js代码
正则表达
- 符号:
定位符:
^ 和 $ 分别指字符串的开始与结束
\b 描述单词的前或后边界
如果它位于要匹配的字符串的开始,它在单词的开始处查找匹配项。如果它位于字符串的结尾,它在单词的结尾处查找匹配项。
\B 表示非单词边界
限定符
? 通配符匹配文件名中的 0 个或 1 个字符
* 通配符匹配零个或多个字符
+ 匹配一个或者多个
.匹配除换行符 \n 之外的任何单字符
[]:
[…] 匹配[]里的所有字符
[^…] 匹配除了[]里的所有字符
{}:
{n,m}
其中n <= m。最少匹配 n 次且最多匹配 m 次
其他写法:
{n,} {m}
()
用圆括号 () 将所有选择项括起来
() 会把每个分组里的匹配的值保存起来
通过在 *、+ 或 ? 限定符之后放置 ?,该表达式从"贪婪"表达式转换为"非贪婪"表达式或者最小匹配。
要匹配以上标志性字符时要用\转义
- 修饰符
i ignore - 不区分大小写
g global - 全局匹配
m multi line - 多行匹配
s 特殊字符圆点 . 中包含换行符 \n
\s 是匹配所有空白符,包括换行
\S 非空白符,不包括换行。
\w匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
其他
\d
匹配一个数字字符。等价于 [0-9]。
\D
匹配一个非数字字符。等价于 [^0-9]。
\f
匹配一个换页符。等价于 \x0c 和 \cL。
\n
匹配一个换行符。等价于 \x0a 和 \cJ。
\r
匹配一个回车符。等价于 \x0d 和 \cM。
\s
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S
匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t
匹配一个制表符。等价于 \x09 和 \cI。
\v
匹配一个垂直制表符。等价于 \x0b 和 \cK。
\w
匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'。
\W
匹配非字母、数字、下划线。等价于 '[^A-Za-z0-9_]'。
javaScript 可以通过不同的方式来获取数据:
-
使用 document.write() 方法将内容写到 HTML 文档中。
-
使用 innerHTML 写入到 HTML 元素:
操作 HTML 元素: -
如需从 JavaScript 访问某个 HTML 元素,可以使用 document.getElementById(id) 方法。
-
使用 “id” 属性来标识 HTML 元素,并 innerHTML 来获取或插入元素内容:
-
document.getElementById(“demo”) 是使用 id 属性来查找 HTML 元素的 JavaScript 代码 。
-
innerHTML = “段落已修改。” 是用于修改元素的 HTML 内容(innerHTML)的 JavaScript 代码。
eg:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<script>
function myFunction(){
document.getElementById("demo").innerHTML="替换内容";
}
</script>
</head>
<body>
<h1>我的 Web 页面</h1>
<p id="demo">替换前</p>
<button type="button" onclick="myFunction()">点击这里</button>
</body>
</html>
js的调试
try 要测试的程序
throw 抛出错误
finally 最终都会执行
eg:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p>不管输入是否正确,输入框都会再输入后清空。</p>
<p>请输入 5 ~ 10 之间的数字:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">点我</button>
<p id="p01"></p>
<script>
function myFunction() {
var message, x;
message = document.getElementById("p01");
message.innerHTML = "";
x = document.getElementById("demo").value;
try {
if(x == "") throw "值是空的";
if(isNaN(x)) throw "值不是一个数字";
x = Number(x);
if(x > 10) throw "太大";
if(x < 5) throw "太小";
}
catch(err) {
message.innerHTML = "错误: " + err + ".";
}
finally {
document.getElementById("demo").value = "";
}
}
</script>
</body>
</html>
debugger 关键字用于停止执行 JavaScript,并调用调试函数。
这个关键字与在调试工具中设置断点的效果是一样的。
使用 console.log() 写入到浏览器的控制台。
使用 window.alert() 弹出警告框。
DMO
- 改变HTML内容
通过 id 找到 HTML 元素
1.通过标签名找到 HTML 元素
var x=document.getElementById("main").innerHTML="新内容";
还有一种写法:
var x=document.getElementById("main");
x.innerHTML="新内容";
- 通过类名找到 HTML 元素
函数getElementsByClassName定义
x=document.getElementsByClassName("intro");
- 改变HTML样式
document.getElementById(id).style.样式类型=新样式
- 改变 HTML 属性
document.getElementById(id).旧属性值=新属性值