HTML
HTML网页常用基础知识
网页结构
JavaSE C/S Client server 客户端–服务器
JavaWeb B/S Broswer Server 浏览器–服务器
网页的组成部分:
内容(结构)、表现、行为
HTML: Hyper Text Markup Language(超文本标记语言)
ALT+F2 选择浏览器
HTML书写规范:
表示整个 html 页面的开始
头信息
标题
body 是页面的主体内容
页面主体内容
表示整个 html 页面的结束
HTML注释 :
HTML做注释快捷键:ctrl+shift+/
ctrl+d 复制粘贴当前行
标签的格式:
<标签名>封装的数据</标签名>
标签拥有自己的属性
1、基本属性 : bgcolor=“red” 可以修改简单的样式效果 可以修改简单的样式
2、事件属性 : οnclick=“alert(‘你好!’);” 可以直接设置事件响应后的代码
button : 按钮
标签:单标签,双标签
1、单表签格式:<标签名/> br 换行 hr 水平线
2、双标签格式:<标签名> …封装的数据… </标签名>
3、属性必须有值,属性值必须加引号
HTML中常用标签介绍:
1、设置字体标签
font标签
<html>
<head>
<meta charset="UTF-8">
<title>1.font标签.html</title>
</head>
<body>
<!-- 字体标签
需求 1:在网页上显示 我是字体标签 ,并修改字体为 宋体,颜色为红色。
font标签是字体标签,它可以修改文本的字体,颜色,大小(尺寸)
color属性修改颜色
face属性修改字体
size属性修改文本大小
-->
<font color ="red" face=" 宋体 " size="7"> 我是字体标签</font>
</body>
</html>
2、特殊字符
常用br标签换行
3、超链接标签
a标签
<html>
<head>
<meta charset="UTF-8">
<title>4.超链接.html</title>
</head>
<body>
<!-- a标签是超链接
href属性设置连接的地址
target属性设置哪个目标进行跳转
_self 表示当前页面(默认值)
——blank 表示打开新页面来进行跳转
-->
<a href="http://www.baidu.com">百度</a><br/>
<a href="http://www.baidu.com"target="_self">百度_self</a><br/>
<a href="http://www.baidu.com"target="_black">百度_black</a><br/>
4、显示图片标签
img 标签可以在 html 页面上显示图片
<html>
<head>
<meta charset="UTF-8">
<title>5.img标签.html</title>
</head>
<body>
<!--需求 1:使用 img 标签显示一张美女的照片。并修改宽高,和边框属性
img标签是图片标签,用来显示图片
src属性可以设置图片的路径
width属性设置图片的宽度
height属性设置图片的高度
border属性设置图片边框大小
alt属性设置当路径找不到图片时,用来代替显示的文本内容
在JavaSE中路径分为相对路径和绝对路径
相对路径:从工程名开始
绝对路径:盘符:/目录/文件名
在web中路径分为相对路径和绝对路径
相对路径:
. 表示当前文件所在目录
.. 表示文件所在的上一级目录
文件名 表示当前文件所在目录的文件,相当于 ./文件名 ./可以省略
绝对路径:
正确格式是:http://ip:port/工程名/资源路径
错误格式是盘符:盘符:/目录/文件名
-->
<img src="../imgs/1.jpg" width="200" hight="260"border="1"alt="美女找不到"/>
<img src="../imgs/2.jpg" width="200" hight="260"/>
<img src="../imgs/3.jpg" width="200" hight="260"/>
<img src="../imgs/4.jpg" width="200" hight="260"/>
<img src="../imgs/5.jpg" width="200" hight="260"/>
<img src="../imgs/6.jpg" width="200" hight="260"/>
<img src="../imgs/7.jpg" width="200" hight="260"/>
</body>
</html>
5、表格标签
table标签
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>表格标签</title>
</head>
<body>
<!--
需求 1:做一个 带表头的 ,三行,三列的表格,并显示边框 需求
2:修改表格的宽度,高度,表格的对齐方式,单元格间距。
table标签是表格标签
border 设置表格标签
width 设置表格宽度
height 设置表格高度
alight 设置表格相对于页面的对齐方式
cellspacing 设置单元格间距
tr 是行标签
th 是表头标签
td 是单元格标签
alight 设置单元格文本对齐方式
b 标签是加粗标签
-->
<table align="center" border="1" width="300" height="300" cellspacing="0">
<tr>
<th >1.1</th>
<th>1.2</th>
<th>1.3</th>
</tr>
<tr>
<td>2.1</td>
<td>2.2</td>
<td>2.3</td>
</tr>
<tr>
<td>3.1</td>
<td>3.2</td>
<td>3.3</td>
</tr>
</table>
</body>
</html>
6、跨行跨列标签
属性设置跨列:colspan
属性设置跨行: rowspan
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>7.表格的跨行跨列</title>
</head>
<body>
<!--需求
1:新建一个五行,五列的表格,
第一行,第一列的单元格要跨两列,
第二行第一列的单元格跨两行,
第四行第四 列的单元格跨两行两列。
colspan 属性设置跨列
rowspan 属性设置跨行
-->
<table width="500" height="500" cellspacing="0" border="1">
<tr>
<td colspan="2">1.1</td>
<td>1.3</td>
<td>1.4</td>
<td>1.5</td>
</tr>
<tr>
<td rowspan="2">2.1</td>
<td>2.2</td>
<td>2.3</td>
<td>2.4</td>
<td>2.5</td>
</tr>
<tr>
<td>3.2</td>
<td>3.3</td>
<td>3.4</td>
<td>3.5</td>
</tr>
<tr>
<td>4.1</td>
<td>4.2</td>
<td>4.3</td>
<td colspan="2" rowspan="2">4.4</td>
</tr>
<tr>
<td>5.1</td>
<td>5.2</td>
<td>5.3</td>
</tr>
</table>
</body>
</html>
7、内嵌窗口
iframe 框架标签
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>8.iframe标签.html</title>
</head>
<body>
我是一个单独的完整页面
<!--ifarme标签可以在页面上开辟一个小区域显示一个单独的页面
ifarme和a标签组合使用的步骤;
1、在ifarme标签中使用name属性定义的一个名称
2、在a标签的target属性上设置ifarme的name属性值
-->
<iframe src="3.标题标签.html" width="500" height="400" name="abc"></iframe>
<br/>
<ul>
<li><a href="0-标签语法.html" target="abc">0-标签语法.html</a></li>
<li><a href="1.font标签.html" target="abc">1、font标签.html</a></li>
<li><a href="2.特殊字符.html" target="abc">2、特殊字符.html</a></li>
</ul>
</body>
</html>
8、表单标签
8.1 表单标签
forme标签就是表单
input type=“text” 是文件输入框 value设置默认内容
input type=“password” 是密码输入框 value设置默认显示内容
input type=“radio” 是单选框 name可以对其进行分组checked="checked"表示默认选中
input type=“checkbox” 是复选框 checked="checked"表示默认选中
input type=“reset” 是重置按钮 value属性修改按钮上的文本
input type=“submit” 是提交按钮 value属性修改按钮上的文本
input type=“button” 是按钮 value属性修改按钮上的文本
input type=“file” ` 是文件上传域
input type=“hidden” 是隐藏域 当我们要发送某些信息,而这些信息,不需 要用户参与,就可以使用隐藏域(提交时同时发送给服务器)
select 标签是下拉列表框
option 标签是下拉列表中的选项 selected="selected"设置默认选中
textarea 表示表示多行文本输入 (起始标签和结束标签中的内容是默认值)
rows 属性设置可以显示几行的高度
cols 属性设置每行可以显示几个字符宽度
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单的显示</title>
</head>
<body>
<!--
需求 1:创建一个个人信息注册的表单界面。包含用户名,密码,确认密码。性别(单选),兴趣爱好(多选),国籍(下 拉列表)。隐藏域,自我评价(多行文本域)。重置,提交。
forme标签就是表单
input type="text" 是文件输入框 value设置默认内容
input type="password" 是密码输入框 value设置默认显示内容
input type="radio" 是单选框 name可以对其进行分组 checked="checked"表示默认选中
input type="checkbox" 是复选框 checked="checked"表示默认选中
input type="reset" 是重置按钮 value属性修改按钮上的文本
input type="submit" 是提交按钮 value属性修改按钮上的文本
input type="button" 是按钮 value属性修改按钮上的文本
input type="file" ` 是文件上传域
input type="hidden" 是隐藏域 当我们要发送某些信息,而这些信息,不需要用户参与,就可以使用隐藏域(提交时同时发送给服务器)
select 标签是下拉列表框
option 标签是下拉列表中的选项 selected="selected"设置默认选中
textarea 表示表示多行文本输入 (起始标签和结束标签中的内容是默认值)
rows 属性设置可以显示几行的高度
cols 属性设置每行可以显示几个字符宽度
-->
<form>
<h1 align="center">用户注册</h1>
<table align="center">
<tr>
<td> 用户名称:</td>
<td>
<input type="text" value="默认值"/><br/>
</td>
</tr>
<tr>
<td>用户密码:</td>
<td><input type="password" /><br/></td>
</tr>
<tr>
<td> 确认密码:</td>
<td><input type="password" /><br/> </td>
</tr>
<tr>
<td>性别: </td>
<td><input type="radio" name="sex" checked="checked"/>男
<input type="radio" name="sex"/>女<br/>
</td>
</tr>
<tr>
<td> 兴趣爱好:</td>
<td> <input type="checkbox"/>抽烟<input type="checkbox"/>喝酒<input type="checkbox"checked="checked"/>烫头<br/></td>
</tr>
<tr>
<td> 国籍:</td>
<td>
<select>
<option>--请选择国籍</option>
<option selected="selected">中国</option>
<option>俄罗斯</option>
<option>乌克兰</option>
</select><br/>
</td>
</tr>
<tr>
<td> 自我评价:</td>
<td> <textarea rows="10" close="20" >我才是默认值</textarea><br/></td>
</tr>
<tr>
<td> <input type="reset"/></td>
<td align="center"> <input type="submit" /></td>
</tr>
<tr>
<!-- <td> <input type="file"/><br/></td>-->
<td > <input type="hidden" name="fdejcvhsdg"/></td>
</tr>
</table>
</form>
</body>
</html>
8.2 表单提交的细节
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单的显示</title>
</head>
<body>
<!--
forme标签是表单标签
action属性设置提交的服务器地址
method属性设置提交的方式get(默认值)或post
表单提交的时候,数据没有发送给服务器的三种情况
1、表单没有name属性值
2、单选、复选(下拉列表中option的标签)都需要添加value属性,以便发送给服务器
3、表单项不在提交的form标签中
get请求的特点是:
1、浏览器地址栏中的地址是:action属性+[?+请求参数]
请求参数的格式是:name=value&name=value
password=444
&
sex=boy
&
hobby=perming
2、不安全
3、它有数据长度的限制
post请求的特点是:
1、浏览器地址中只有action属性值
2、相对于get请求要安全
3、理论上没有数据长度的限制
-->
<form action="https://locallhost:8080" method="post">
<td > <input type="hidden" name="action" value="login"/></td>
<h1 align="center">用户注册</h1>
<table align="center">
<tr>
<td> 用户名称:</td>
<td>
<input type="text" name="username" value="默认值"/><br/>
</td>
</tr>
<tr>
<td>用户密码:</td>
<td><input type="password" name="password"/><br/></td>
</tr>
<!--<tr>
<td> 确认密码:</td>
<td><input type="password" /><br/> </td>
</tr>-->
<tr>
<td>性别: </td>
<td><input type="radio" name="sex" checked="checked" value="boy"/>男
<input type="radio" name="sex" value="girl"/>女<br/>
</td>
</tr>
<tr>
<td> 兴趣爱好:</td>
<td> <input name="hobby" type="checkbox" value="Smoking"/>抽烟
<input name="hobby" type="checkbox" value="Drinking"/>喝酒
<input name="hobby" type="checkbox"checked="checked" value="perming"/>烫头
<br/>
</td>
</tr>
<tr>
<td> 国籍:</td>
<td>
<select name="county">
<option value="none">--请选择国籍</option>
<option selected="selected" value="cn">中国</option>
<option value="ru">俄罗斯</option>
<option value="wkl">乌克兰</option>
</select><br/>
</td>
</tr>
<tr>
<td> 自我评价:</td>
<td> <textarea rows="10" close="20" >我才是默认值</textarea><br/></td>
</tr>
<tr>
<td> <input type="reset" /></td>
<td align="center"> <input type="submit" /></td>
</tr>
</table>
</form>
</body>
</html>
9、其他常用标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>其他标签</title>
</head>
<body>
<!--
需求 1:div、span、p 标签的演示
div 标签默认独占一行
span标签 它的长度是封装数据的长度
p段落标签 默认会在段落上方或下方各空出一行(如果已有就不再空)
-->
<div>div标签1</div>
<div>div标签2</div>
<span>span标签1</span>
<span>span标签2</span>
<p>p标签段落1</p>
<p>p标签段落2</p>
</body>
</html>
CSS技术
1、CSS 技术介绍
CSS 是「层叠样式表单」。是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。
2、CSS语法规则
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-acBqWH0q-1647157677235)(C:\Users\lenovo\Pictures\Saved Pictures\image-20220313110423206.png)]
选择器:浏览器根据“选择器”决定受 CSS 样式影响的 HTML 元素(标签)。
** 属性** (property) 是你要改变的样式名,并且每个属性都有一个值。属性和值被冒号分开,并 由花括号包围,这样就组成了一个完整的样式声明(declaration),例如:p {color: blue}
**多个声明:**如果要定义不止一个声明,则需要用分号将每个声明分开。虽然最后一条声明的 最后可以不加分号(但尽量在每条声明的末尾都加上分号)
** 例如:**
p{
color:red;font-size:30px;
}
注:一般每行只描述一个属性
CSS 注释:/注释内容/
3、CSS与HTML结合方式
常用第三种
-
1、
在标签的 style 属性上设置”key:value value;”,修改标签样式
-
2、
在 head 标签中,使用 style 标签来定义各种自己需要的 css 样式。
格式如下:
xxx {
Key : value value;
}
-
3、
把 css 样式写成一个单独的 css 文件,再通过 link 标签引入即可复用。
使用 html 的 <link rel=“stylesheet” type=“text/css” href="./styles.css" /> 标签 导入 css 样
式文件
CSS:
div{
border: 1px solid red;
}
span{
border: 1px solid red;
}
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--link标签专门用来引入css样式代码-->
<link rel="stylesheet" type="text/css" href="1.css"/>
</head>
<body>
<!--需求 1:分别定义两个 div、span 标签,分别修改每个 div 标签的样式为:边框 1 个像素,实线,红色。
-->
<div >div 标签 1</div>
<div >div 标签 2</div>
<span >span 标签 1</span>
<span >span 标签 2</span>
</body>
</html>
4、CSS选择器
1、标签名选择器
标签名选择器的格式是:
标签名{
属性:值;
}
标签名选择器,可以决定哪些标签被动的使用这个样式
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS选择器</title>
<style type="text/css">
div{
border: 1px solid yellow;
color :blue;
font-size : 30px;
}
span{
border: 1px dashed blue;
color :yellow;
font-size : 20px;
}
</style>
</head>
<body>
<!--
需求1:在所有div标签上修改字体颜色为蓝色,字体大小30个像素。边框为1像素黄色实线。
并且修改所有span 标签的字体颜色为黄色,字体大小20个像素。边框为1像素蓝色虚线。
-->
<div>div标签1</div>
<div>div标签2</div>
<span>span标签1</span>
<span>span标签2</span>
</body>
</html>
2、id选择器
id 选择器的格式是:
#id 属性值{
属性:值;
}
id 选择器,可以让我们通过 id 属性选择性的去使用这个样式。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ID选择器</title>
<style type="text/css">
#id001{
color:blue;
font-size: 30px;
border: 1px yellow solid;
}
#id002{
color:red;
font-size:20px;
border: 5px blue dotted;
}
</style>
</head>
<body>
<!--
需求1:分别定义两个 div 标签,
第一个div 标签定义 id 为 id001 ,然后根据id 属性定义css样式修改字体颜色为蓝色,
字体大小30个像素。边框为1像素黄色实线。
第二个div 标签定义 id 为 id002 ,然后根据id 属性定义css样式 修改的字体颜色为红色,字体大小20个像素。边框为5像素蓝色点线。
-->
<div id="id002">div标签1</div>
<div id="id001">div标签2</div>
</body>
</html>
3、class 选择器(类选择器)
class 类型选择器的格式是:
**.**class 属性值{
属性:值;
}
class 类型选择器,可以通过 class 属性有效的选择性地去使用这个样式
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>class类型选择器</title>
<style type="text/css">
.class01{
color: blue;
font-size: 30px;
border: 1px yellow solid;
}
.class02{
color: gray;
font-size: 26px;
border: 1px red solid;
}
</style>
</head>
<body>
<!--
需求1:修改 class 属性值为 class01的 span 或 div 标签,字体颜色为蓝色,字体大小30个像素。边框为1像素黄色实线。
需求2:修改 class 属性值为 class02的 div 标签,字体颜色为灰色,字体大小26个像素。边框为1像素红色实线。
-->
<div class="class02">div标签class01</div>
<div class="class01">div标签</div>
<span >span标签class01</span>
<span>span标签2</span>
</body>
</html>
4、组合选择器
组合选择器的格式是:
选择器 1,选择器 2,选择器 n{
属性:值;
}
组合选择器可以让多个选择器共用同一个 css 样式代码。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>class类型选择器</title>
<style type="text/css">
.class01,#id01{
color:blue;
font-size:20px;
border:1px yellow solid;
}
</style>
</head>
<body>
<!--
需求1:修改 class="class01" 的div 标签 和 id="id01" 所有的span标签,
字体颜色为蓝色,字体大小20个像素。边框为1像素黄色实线。
-->
<div class="class01">div标签class01</div> <br />
<span id="id01">span 标签</span> <br />
<div>div标签</div> <br />
<div>div标签id01</div> <br />
</body>
</html>
5、常用选择器
1、字体颜色
color:red;
颜色可以写颜色名如:black, blue, red, green 等
颜色也可以写 rgb 值和十六进制表示值:如 rgb(255,0,0),#00F6DE,如果写十六进制值必
须加#2、宽度
width:19px;
宽度可以写像素值:19px;
也可以写百分比值:20%;
3、高度
height:20px;
高度可以写像素值:19px;
也可以写百分比值:20%;
4、背景颜色
background-color:#0F2D4C
4、字体样式:
color:#FF0000;字体颜色红色
font-size:20px; 字体大小
5、红色 1 像素实线边框
border:1px solid red;
7、DIV 居中
margin-left: auto;
margin-right: auto;
8、文本居中:
text-align: center;9、超连接去下划线
text-decoration: none;
10、表格细线
table {
border: 1px solid black; /设置边框/
border-collapse: collapse; /将边框合并/
}
td,th {
border: 1px solid black; /设置边框/
}
11、列表去除修饰
ul {
list-style: none;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>06-css常用样式.html</title>
<style type="text/css"0>
div{
color:red;
border:1px yellow solid;
width:300px;
height: 300px;
background-color: green;
font-size:30px ;
margin-left: auto;
margin-right: auto;
text-align: center;
}
a{
text-decoration: none;
}
table{
border:1px red solid;
border-collapse: collapse;
}
td{
border:1px red solid;
}
ul{
list-style: none;
}
</style>
</head>
<body>
<ul>
<li>1111111111</li>
<li>1111111111</li>
<li>1111111111</li>
<li>1111111111</li>
<li>1111111111</li>
</ul>
<table>
<tr>
<td>1.1</td>
<td>1.2</td>
</tr>
</table>
<a href="http://www.baidu.com">百度</a>
<div>我是div标签</div>
</body>
</html>
JavaScript
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lx5pcFyl-1647157677236)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20220313141450024.png)]
1、JavaScript特点:
1. 交互性(它可以做的就是信息的动态交互)
2. 安全性(不允许直接访问本地硬盘)
3. 跨平台性(只要是可以解释 JS 的浏览器都可以执行,和平台无关)
js是弱类型,java是强类型
弱类型就是类型可变
强类型,就是定义变量的时候,类型已确定,而且不可变
int i= 12;
var i;
i = 12; 数值型
i = “abc” 字符串类型
2、JavaScript 和 html 代码的结合方式
1、第一种方式
只需要在 head 标签中,或者在 body 标签中, 使用 script 标签 来书写 JavaScript 代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
/*alreat是javaScript语言提供的一个警告框函数
* 它可以接收任意类型的参数,这个参数就是警告框的提示信息
* */
alert("hello javaScript");
</script>
</head>
<body>
</body>
</html>
2、第二种方式
使用 script 标签引入 单独的 JavaScript 代码文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--
现在需要使用script引入外部的js文件啊来执行
src属性专门用来引入js文件路径(可以是相对路径,也可以是绝对路径)
script标签可以用来定义js代码,也可以用来引入js文件
但是,两个功能二选一使用,不能同时使用两个功能
-->
<script type="text/javascript" src="1.js"></script>
<script type="text/javascript">
alert("刘十三");
</script>
</head>
<body>
</body>
</html>
3、变量
什么是变量?变量是可以存放某些值的内存的命名
JavaScript 的变量类型:
数值类型: number
字符串类型: string
对象类型: object
布尔类型: boolean
函数类型: function
JavaScript 里特殊的值:
undefined 未定义,所有 js 变量未赋于初始值的时候,默认值都是 undefined.
null 空值
NaN 全称是:Not a Number。非数字。非数值。
JS 中的定义变量格式:
var 变量名;
var 变量名 = 值;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>3
<script type="text/javascript">
var i;
//alert(i);// undefined
i = 12;
//typeof()是javaScript语言提供的一个函数
//它可以取变量的数据类型返回
alert(typeof(i)); //number
i="abc";
alert(typeof(i));
var a=12;
var b="abc";
alert(a*b);//NaN是非数字,非数值。
</script>
</head>
<body>
</body>
</html>
4、关系(比较)运算
等于: == 等于是简单的做字面值的比较
全等于: === 除了做字面值的比较之外,还会比较两个变量的数据类型
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var a = "12";
var b = 12;
alert(a == b);//true
alert(a === b);//false
</script>
</head>
<body>
</body>
</html>
5、逻辑运算
且运算: &&
或运算: ||
取反运算: !
在 JavaScript 语言中,所有的变量,都可以做为一个 boolean 类型的变量去使用。
0 、null、 undefined、””(空串) 都认为是 false;
&& 且运算。 有两种情况:
第一种:当表达式全为真的时候。返回最后一个表达式的值。
第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值
|| 或运算
第一种情况:当表达式全为假时,返回最后一个表达式的值
第二种情况:只要有一个表达式为真。就会把回第一个为真的表达式的值
并且 && 与运算 和 ||或运算 有短路。
短路就是说,当这个&&或||运算有结果了之后 。后面的表达式不再执行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
/*在 JavaScript 语言中,所有的变量,都可以做为一个 boolean 类型的变量去使用。.
0 、null、 undefined、””(空串) 都认为是 false;
*/
/* var a = 0;
if(a){
alert("零为真");
}else{
alert("零为假");
}
var b = null;
if(b){
alert("null为真");
}else{
alert("null为假");
}
var c = undefined;
if(c){
alert("undefined为真");
}else{
alert("undefined为假");
}
var d = "";
if(d){
alert("空串为真");
}else{
alert("空串为假");
}
*/
/* && 且运算。 有两种情况:
第一种:当表达式全为真的时候。返回最后一个表达式的值。
第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值
*/
var a = "abc";
var b = true;
var d = false;
var c = null;
//alert(a && b);//true
//alert(b && a);//true
//alert(a && d);//false
//alert(a && c);//null
//alert(a && d && c);//false
/* || 或运算 第一种情况:当表达式全为假时,返回最后一个表达式的值
第二种情况:只要有一个表达式为真。就会把回第一个为真的表达式的值
*/
//alert(d || c);//null
//alert(c || d);//false
//alert(a || c);//abc
alert(b || c);//true
</script>
</head>
<body>
</body>
</html>
6、数组
JS 中 数组的定义:
格式:
var 数组名 = []; // 空数组
var 数组名 = [1 , ’abc’ , true]; // 定义数组同时赋值元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var arr = [true,1];//定义一个空数组
//alert( arr.length);//0
arr[0] = 12;
//alert( arr[0] );
//alert( arr.length);
//javaScript语言中的数组,只要我们通过数组下标赋值,那么最大的下标值就会自动给数组做扩容操作
arr[2]="abc";
alert(arr.length);//3
//alert(arr[1]);//undefined
//数组的遍历
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
</script>
</head>
<body>
</body>
</html>
7、函数
7.1 函数的定义
第一种:使用 function 关键字来定义函数。
使用的格式如下:
function 函数名(形参列表){
函数体
}
在 JavaScript 语言中,如何定义带有返回值的函数?
只需要在函数体内直接使用 return 语句返回值即可!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
//定义一个无参函数
function fun(){
alert("无参函数被调用了");
}
//函数调用===才会执行
//fun();
function fun2(a,b){
alert("有参函数fun2()被调用了 a=>"+a + ";b=>"+ b );
}
//fun2(12,"abnc");
//定义带有返回值的函数
function sum(num1,num2){
var result = num1 + num2;
return result;
}
alert(sum(100,150));
</script>
</head>
<body>
</body>
</html>
第二种:
使用格式如下:
var 函数名 = function(形参列表) { 函数体 }
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var fun = function (){
alert("无参函数");
}
//fun();
var fun2 = function (a,b){
alert("有参函数 a=" + a + ",b=" + b);
}
var fun3 = function (num1,num2) {
return num1 + num2;
}
alert( fun3(100,200) );
</script>
</head>
<body>
</body>
</html>
注意:
在 Java 中函数允许重载。但是在 JS 中函数的重载会直接覆盖掉上一次的定义
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function fun(){
alert("无参函数fun()");
}
function fun(a,b){
alert("有参函数fun(a,b)");
}
fun();
</script>
</head>
<body>
</body>
</html>
7.2 函数的 arguments 隐形参数
(只在 function 函数内)
就是在 function 函数中不需要定义,但却可以直接用来获取所有参数的变量。我们管它叫隐形参数。
隐形参数特别像 java 基础的可变长参数一样。
public void fun( Object … args );
可变长参数其他是一个数组。
那么 js 中的隐形参数也跟 java 的可变长参数一样。操作类似数组。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function fun(){
//alert( arguments.length );//可查看参数个数
/*alert( arguments.length[0]);
alert( arguments.length[1]);
alert( arguments.length[2]);
*/
for(var i = 0; i < arguments.length; i++)
{
alert(arguments[i]);
}
alert("无参函数fun()");
}
//fun(1,"ad",true);
//需求:要求编写一个函数,用于计算所有参数相加的和并返回
function sum(num1,num2){
var result = 0;
for(var i = 0; i<arguments.length; i++){
if(typeof arguments[i] == "number"){
result +=arguments[i];
}
}
return result;
}
alert(sum(1,2,3,"ale",4,7,5,6))
</script>
</head>
<body>
</body>
</html>
8、JS中的自定义对象
8.1 Object 形式的自定义对象
对象的定义:
var 变量名 = new Object(); // 对象实例(空对象)
变量名.属性名 = 值; // 定义一个属性
变量名.函数名 = function(){} // 定义一个函数
对象的访问:
变量名.属性 / 函数名();
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
//对象的定义:
//var 变量名 = new Object(); // 对象实例(空对象)
// 变量名.属性名 = 值; // 定义一个属性
// 变量名.函数名 = function(){} // 定义一个函数
// 对象的访问: 变量名.属性 / 函数名();
var obj = new Object();
obj.name = "刘十三";
obj.age = 18;
obj.fun = function (){
alert("姓名:" + this.name +" 年龄:" + this.age );
}
//alert(obj.name);
obj.fun();
</script>
</head>
<body>
</body>
</html>
8.2 **{}**花括号形式的自定义对象
对象的定义:
var 变量名 = { // 空对象
属性名:值, // 定义一个属性
属性名:值, // 定义一个属性
函数名:function(){} // 定义一个函数
};
对象的访问:
变量名.属性 / 函数名();
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
/*对象的定义:
var 变量名 = { // 空对象
属性名:值, // 定义一个属性
属性名:值, // 定义一个属性
函数名:function(){} // 定义一个函数
};*/
var obj = {
name:"刘十三",
age:18,
fun:function (){
alert("姓名:" + this.name +" 年龄:" + this.age);
}
};
alert(obj.name);
obj.fun();
/* 对象的访问:
变量名.属性 / 函数名();*/
</script>
</head>
<body>
</body>
</html>
9、JS中的事件
事件是电脑输入设备与页面进行交互的响应。我们称之为事件。
常用的事件:
** 1、onload** 加载完成事件:
页面加载完成之后,常用于做页面 js 代码初始化操作
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
//onload事件的方法
function onlaodFun(){
alert("静态注册onload事件,所有代码");
}
//onload事件动态注册,是固定写法
window.onload = function (){
alert("动态注册的onload事件");
}
</script>
</head>
<!--
静态注册onload-事件
onload事件是浏览器解析页面完成后自动触发的事件
<body οnlοad=onlaodFun();>
-->
<body>
</body>
</html>
** 2、onclick** 单击事件:
常用于按钮的点击响应操作。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function onclickFun(){
alert("静态注册onclick事件");
}
//动态注册onclick事件
window.onload = function(){
//获取标签
/*
* document 是JavaScript语言提供的一个对象(文档)
* get 获取
* Element 元素(就是标签)
* By 通过。。 由。。经。。
* Id id属性
* getElemrntById通过id属性获取标签对象
* */
var btnobj = document.getElementById("btn01");
//alert( btnobj );
//通过标签对象.事件名 = function(){}
btnobj.onclick = function (){
alert("动态注册onclick事件");
}
}
</script>
</head>
<body>
<!--静态注册onclick事件-->
<button onclick="onclickFun()">按钮1</button>
<button id="btn01">按钮2</button>
</body>
</html>
** 3、onblur** 失去焦点事件:
常用用于输入框失去焦点后验证其输入内容是否合法。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
//静态注册失去焦点事件
function onblurFun(){
//console是控制台对象,是由JavaScript语言提供,专门用来向浏览器打印输出,用于测试使用
//log()是打印的方法
console.log("静态注册失去焦点事件");
}
//动态注册onblur事件
window.onload = function (){
//1、获取标签对象
var passwordObj = document.getElementById("password");
//alert(passwordObj);
//2、通过标签对象.事件名 = function(){}
passwordObj.onblur = function (){
console.log("动态注册失去焦点事件");
}
}
</script>
</head>
<body>
用户名:<input type="text" onblur="onblurFun();"><br/>
密码:<input id = "password" type="text"><br/>
</body>
</html>
** 4、onchange** 内容发生改变事件:
常用于下拉列表和输入框内容发生改变后操作
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function onblurFun(){
alert("女神已经改变了");
}
window.onload = function ()
{
//获取标签对象
var selObj = document.getElementById("sel01");
alert( selObj );
//通过标签对象.事件名 = function(){}
selObj.onchange = function () {
alert("男神已经改变了");
}
}
</script>
</head>
<body>
请选择你心目中的女神
<!--静态注册onchange事件-->
<select onchange="onblurFun();">
<option>--女神--</option>
<option>--小爱同学--</option>
<option>--小艺小艺--</option>
</select>
请选择你心目中的男神
<select id="sel01">
<option>--男神--</option>
<option>--刘十三--</option>
<option>--蔡徐坤--</option>
</select>
</body>
</html>
** 5、onsubmit** 表单提交事件:
常用于表单提交前,验证所有表单项是否合法。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function onsubmitFun(){
//要验证表单是符合法,如果有一个不合法就阻止表单提交
alert("静态注册表单提交事件---发现不合法");
return true;
}
window.onload = function (){
//获取标签对象
var formObj = document.getElementById("form01");
//alert(formObj);
//通过标签对象.事件名 = function(){}
formObj.onsubmit = function (){
alert("动态注册表单提交事件---发现不合法");
return true;
}
}
</script>
</head>
<body>
<!--return false可以阻止表单提交-->
<form action="http://locallhost:8080" method="get" onsubmit="return onsubmitFun();">
<input type = "submit" value="静态注册">
</form>
<form action="http://locallhost:8080" id="form01">
<input type = "submit" value="动态注册">
</form>
</body>
</html>
10、DOM模型
DOM 全称是 Document Object Model 文档对象模型
就是把文档中的标签,属性,文本,转换成为对象来管理。
10.1 Document 对象的理解
**第一点:**Document它管理了所有的 HTML 文档内容。
**第二点:**document它是一种树结构的文档。有层级关系。
第三点:它让我们把所有的标签 都 对象化
第四点:我们可以通过document 访问所有的标签对象。
模拟化对象相当于:
class Dom{
private String id;
// id 属性
private String tagName; //表示标签名
private Dom parentNode; //父亲
private List children; // 孩子结点
private String innerHTML; // 起始标签和结束标签中间的内容
}
10.2 Document对象中方法介绍
document.getElementById(elementId)
通过标签的 id 属性查找标签 dom 对象,elementId 是标签的 id 属性值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
/*需求:当用户点击了校验按钮,要获取输出框中的内容,然后验证其是符合法。<br/>
* 验证的规则是,必须由字母,数字,下划线组成,并且下划线长度是5到12位
* */
function onclickFun(){
//当我们操作一个标签的时候,一定要获取这个标签的对象
var usernameObj = document.getElementById("username");
//[object HTMLInputElement] 他就是dom对象
//alert(usernameObj.value);
var usernameText = usernameObj.value;
//如何验证验证字符串符合某个规则,需要使用正则表达式
var patt = /^\w{5,12}$/;
//输入框中从头到尾检查,必须是字母数字下划线,长度是五到十二位
/*
* test()方法用于测试某个字符串,是不是匹配我的规则,
* 匹配就返回true,不匹配就返回false
* */
var usenamrSpanObj = document.getElementById("usenameSpan");
//innerHTML 表示起始标签中的内容
//innerHTML 这个属性可读,可写
usenamrSpanObj.innerHTML
if(patt.test(usernameText)){
//alert("用户名合法!");
//usenamrSpanObj.innerHTML = "用户名合法!";
usenamrSpanObj.innerHTML = "<img src=\"right.png\" width=\"18\" height=\"18\">";
}else{
//alert("用户名不合法!");
//usenamrSpanObj.innerHTML = "用户名不合法!";
usenamrSpanObj.innerHTML = "<img src=\"wrong.png\" width=\"18\" height=\"18\">";
}
}
</script>
</head>
<body>
用户名:<input type="text" id = "username" value="vzg"/>
<span style="color: red;" id="usenameSpan">
</span>
<button onclick="onclickFun();">校验</button>
</body>
</html>
** document.getElementsByName(elementName)**
通过标签的 name 属性查找标签 dom 对象,elementName 标签的 name 属性值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
//全选
function checkALL(){
//让所有复选框都选中
// document.getElementsByName("");是根据指定的name属性查询返回多个标签对象集合
//这个集合操作跟数组一样
//集合中每个元素都是dom对象
//这个集合中的元素顺序是他们在HTML中从上到下的顺序
var hobbies = document.getElementsByName("hobby");
//checked表示复选框的状态,如果选中是true,不选中是false
//checked这个属性可读,可写
for(var i = 0;i<hobbies.length; i++){
hobbies[i].checked = true;
}
// alert(hobbies[0].value);
}
//全不选
function checkNO(){
var hobbies = document.getElementsByName("hobby");
for(var i = 0;i<hobbies.length; i++){
hobbies[i].checked = false;
}
}
//反选
function checkReverse(){
var hobbies = document.getElementsByName("hobby");
for(var i=0; i<hobbies.length; i++){
hobbies[i].checked = !hobbies[i].checked;
/* if(hobbies[i].checked){
hobbies[i].checked = false;
}else{
hobbies[i] = true;
}*/
}
}
</script>
</head>
<body>
兴趣爱好:
<input type="checkbox" name="hobby" value="cpp">C++
<input type="checkbox" name="hobby" value="java">Java
<input type="checkbox" name="hobby" value="js">JavaScript
<br/>
<button onclick="checkALL();">全选</button>
<button onclick="checkNO();">全不选</button>
<button onclick="checkReverse();">反选</button>
</body>
</html>
document.getElementsByTagName(tagname)
通过标签名查找标签 dom 对象。tagname 是标签名
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
//全选
function checkALL() {
//document.getElementsByTagName("input");是按照指定标签名查询并返回集合
//这个集合的操作跟数组一样
//集合中都是dom对象
//集合中元素顺序,是他们在HTML页面中从上到下的顺序
var inputs = document.getElementsByTagName("input");
for(var i=0;i<inputs.length; i++ ){
inputs[i].checked = true;
}
}
</script>
</head>
<body>
兴趣爱好:
<input type="checkbox" value="cpp">C++
<input type="checkbox" value="java">Java
<input type="checkbox" value="js">JavaScript
<br/>
<button onclick="checkALL();">全选</button>
</body>
</html>
查询方法优先级:
document 对象的三个查询方法,如果有 id 属性,优先使用 getElementById 方法来进行查询
如果没有 id 属性,则优先使用 getElementsByName 方法来进行查询
如果 id 属性和 name 属性都没有最后再按标签名查 getElementsByTagName
以上三个方法,一定要在页面加载完成之后执行,才能查询到标签对象
10.3 节点常用属性和方法
节点就是标签对象
方法:
通过具体的元素节点调用
getElementsByTagName()
方法,获取当前节点的指定标签名孩子节点
appendChild( oChildNode )
方法,可以添加一个子节点,oChildNode 是要添加的孩子节点
属性:
childNodes 属性,获取当前节点的所有子节点
firstChild 属性,获取当前节点的第一个子节点
lastChild 属性,获取当前节点的最后一个子节点
parentNode 属性,获取当前节点的父节点
nextSibling 属性,获取当前节点的下一个节点
previousSibling 属性,获取当前节点的上一个节点
className 用于获取或设置标签的 class 属性值
innerHTML 属性,表示获取/设置起始标签和结束标签中的内容
innerText 属性,表示获取/设置起始标签和结束标签中的文本
@CHARSET "UTF-8";
body {
width: 800px;
margin-left: auto;
margin-right: auto;
}
button {
width: 300px;
margin-bottom: 10px;
}
#btnList {
float:left;
}
#total{
width: 450px;
float:left;
}
ul{
list-style-type: none;
margin: 0px;
padding: 0px;
}
.inner li{
border-style: solid;
border-width: 1px;
padding: 5px;
margin: 5px;
background-color: #99ff99;
float:left;
}
.inner{
width:400px;
border-style: solid;
border-width: 1px;
margin-bottom: 10px;
padding: 10px;
float: left;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>dom查询</title>
<link rel="stylesheet" type="text/css" href="style/css.css" />
<script type="text/javascript">
window.onload = function (){
//1.查找#bj节点
document.getElementById("btn01").onclick = function (){
var bjObj = document.getElementById("bj");
alert(bjObj.innerHTML);
}
//2.查找所有li节点
var btn02Ele = document.getElementById("btn02");
btn02Ele.onclick = function(){
var lis = document.getElementsByTagName("li");
alert(lis.length)
};
//3.查找name=gender的所有节点
var btn03Ele = document.getElementById("btn03");
btn03Ele.onclick = function(){
var genters = document.getElementsByName("gender");
alert(genters.length);
};
//4.查找#city下所有li节点
var btn04Ele = document.getElementById("btn04");
btn04Ele.onclick = function(){
//1、获取id为city的节点
//2、通过city节点.getElementsByTagName标签名查子节点
var list = document.getElementById("city").getElementsByTagName("li");
alert(list.length);
};
//5.返回#city的所有子节点
var btn05Ele = document.getElementById("btn05");
btn05Ele.onclick = function(){
//1.获取id为city的节点
//2.通过city获取所有子节点
alert(document.getElementById("city").childNodes.length);
};
//6.返回#phone的第一个子节点
var btn06Ele = document.getElementById("btn06");
btn06Ele.onclick = function(){
//查找id为phone的节点、
alert(document.getElementById("phone").firstChild.innerHTML);
};
//7.返回#bj的父节点
var btn07Ele = document.getElementById("btn07");
btn07Ele.onclick = function(){
//查询id为bj的节点
var lis = document.getElementById("bj");
//bj节点获取父亲节点
alert(lis.parentNode.innerHTML);
};
//8.返回#android的前一个兄弟节点
var btn08Ele = document.getElementById("btn08");
btn08Ele.onclick = function(){
//获取id为Android的节点
//通过Android节点获取前面的兄弟节点
alert(document.getElementById("android").previousSibling.innerHTML);
};
//9.读取#username的value属性值
var btn09Ele = document.getElementById("btn09");
btn09Ele.onclick = function(){
alert(document.getElementById("username").value);
};
//10.设置#username的value属性值
var btn10Ele = document.getElementById("btn10");
btn10Ele.onclick = function(){
document.getElementById("username").value = "刘十三的天下";
};
//11.返回#bj的文本值
var btn11Ele = document.getElementById("btn11");
btn11Ele.onclick = function() {
alert(document.getElementById("bj").innerText);
};
};
</script>
</head>
<body>
<div id="total">
<div class="inner">
<p>
你喜欢哪个城市?
</p>
<ul id="city">
<li id="bj">北京</li>
<li>上海</li>
<li>东京</li>
<li>首尔</li>
</ul>
<br>
<br>
<p>
你喜欢哪款单机游戏?
</p>
<ul id="game">
<li id="rl">红警</li>
<li>实况</li>
<li>极品飞车</li>
<li>魔兽</li>
</ul>
<br />
<br />
<p>
你手机的操作系统是?
</p>
<ul id="phone"><li>IOS</li><li id="android">Android</li><li>Windows Phone</li></ul>
</div>
<div class="inner">
gender:
<input type="radio" name="gender" value="male"/>
Male
<input type="radio" name="gender" value="female"/>
Female
<br>
<br>
name:
<input type="text" name="name" id="username" value="abcde"/>
</div>
</div>
<div id="btnList">
<div><button id="btn01">查找#bj节点</button></div>
<div><button id="btn02">查找所有li节点</button></div>
<div><button id="btn03">查找name=gender的所有节点</button></div>
<div><button id="btn04">查找#city下所有li节点</button></div>
<div><button id="btn05">返回#city的所有子节点</button></div>
<div><button id="btn06">返回#phone的第一个子节点</button></div>
<div><button id="btn07">返回#bj的父节点</button></div>
<div><button id="btn08">返回#android的前一个兄弟节点</button></div>
<div><button id="btn09">返回#username的value属性值</button></div>
<div><button id="btn10">设置#username的value属性值</button></div>
<div><button id="btn11">返回#bj的文本值</button></div>
</div>
</body>
</html>
正则表达式
var patt = /^\w{5,12}$/;
输入框中从头到尾检查,必须是字母数字下划线,长度是五到十二位
RegExp 对象
正则表达式是描述字符模式的对象。
正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。
语法
var patt=new RegExp(pattern,modifiers);
或者更简单的方式:
var patt=/pattern/modifiers;
- pattern(模式) 描述了表达式的模式
- modifiers(修饰符) 用于指定全局匹配、区分大小写的匹配和多行匹配
修饰符
修饰符用于执行区分大小写和全局匹配:
修饰符 | 描述 |
---|---|
[i] | 执行对大小写不敏感的匹配。 |
[g] | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
m | 执行多行匹配。 |
方括号
方括号用于查找某个范围内的字符:
表达式 | 描述 |
---|---|
[abc] | 查找方括号之间的任何字符。 |
[^abc] | 查找任何不在方括号之间的字符。 |
[0-9] | 查找任何从 0 至 9 的数字。 |
[a-z] | 查找任何从小写 a 到小写 z 的字符。 |
[A-Z] | 查找任何从大写 A 到大写 Z 的字符。 |
[A-z] | 查找任何从大写 A 到小写 z 的字符。 |
[adgk] | 查找给定集合内的任何字符。 |
[^adgk] | 查找给定集合外的任何字符。 |
(red|blue|green) | 查找任何指定的选项。 |
元字符
元字符(Metacharacter)是拥有特殊含义的字符:
元字符 | 描述 |
---|---|
. | 查找单个字符,除了换行和行结束符。 |
\w | 查找单词字符。 |
\W | 查找非单词字符。 |
\d | 查找数字。 |
\D | 查找非数字字符。 |
\s | 查找空白字符。 |
\S | 查找非空白字符。 |
\b | 匹配单词边界。 |
\B | 匹配非单词边界。 |
\0 | 查找 NUL 字符。 |
\n | 查找换行符。 |
\f | 查找换页符。 |
\r | 查找回车符。 |
\t | 查找制表符。 |
\v | 查找垂直制表符。 |
\xxx | 查找以八进制数 xxx 规定的字符。 |
\xdd | 查找以十六进制数 dd 规定的字符。 |
\uxxxx | 查找以十六进制数 xxxx 规定的 Unicode 字符。 |
量词
量词 | 描述 |
---|---|
n+ | 匹配任何包含至少一个 n 的字符串。 |
n* | 匹配任何包含零个或多个 n 的字符串。 |
n? | 匹配任何包含零个或一个 n 的字符串。 |
n{X} | 匹配包含 X 个 n 的序列的字符串。 |
n{X,Y} | 匹配包含 X 或 Y 个 n 的序列的字符串。 |
n{X,} | 匹配包含至少 X 个 n 的序列的字符串。 |
n$ | 匹配任何结尾为 n 的字符串。 |
^n | 匹配任何开头为 n 的字符串。 |
?=n | 匹配任何其后紧接指定字符串 n 的字符串。 |
?!n | 匹配任何其后没有紧接指定字符串 n 的字符串。 |
RegExp 对象方法
方法 | 描述 | FF | IE |
---|---|---|---|
compile | 编译正则表达式。 | 1 | 4 |
exec | 检索字符串中指定的值。返回找到的值,并确定其位置。 | 1 | 4 |
test | 检索字符串中指定的值。返回 true 或 false。 | 1 | 4 |
支持正则表达式的 String 对象的方法
方法 | 描述 | FF | IE |
---|---|---|---|
[search] | 检索与正则表达式相匹配的值。 | 1 | 4 |
[match] | 找到一个或多个正则表达式的匹配。 | 1 | 4 |
[replace] | 替换与正则表达式匹配的子串。 | 1 | 4 |
[split] | 把字符串分割为字符串数组。 | 1 | 4 |
l) | 查找换行符。 | ||
\f | 查找换页符。 | ||
\r | 查找回车符。 | ||
\t | 查找制表符。 | ||
\v | 查找垂直制表符。 | ||
\xxx | 查找以八进制数 xxx 规定的字符。 | ||
\xdd | 查找以十六进制数 dd 规定的字符。 | ||
\uxxxx | 查找以十六进制数 xxxx 规定的 Unicode 字符。 |
量词
量词 | 描述 |
---|---|
n+ | 匹配任何包含至少一个 n 的字符串。 |
n* | 匹配任何包含零个或多个 n 的字符串。 |
n? | 匹配任何包含零个或一个 n 的字符串。 |
n{X} | 匹配包含 X 个 n 的序列的字符串。 |
n{X,Y} | 匹配包含 X 或 Y 个 n 的序列的字符串。 |
n{X,} | 匹配包含至少 X 个 n 的序列的字符串。 |
n$ | 匹配任何结尾为 n 的字符串。 |
^n | 匹配任何开头为 n 的字符串。 |
?=n | 匹配任何其后紧接指定字符串 n 的字符串。 |
?!n | 匹配任何其后没有紧接指定字符串 n 的字符串。 |
RegExp 对象方法
方法 | 描述 | FF | IE |
---|---|---|---|
compile | 编译正则表达式。 | 1 | 4 |
exec | 检索字符串中指定的值。返回找到的值,并确定其位置。 | 1 | 4 |
test | 检索字符串中指定的值。返回 true 或 false。 | 1 | 4 |
支持正则表达式的 String 对象的方法
方法 | 描述 | FF | IE |
---|---|---|---|
[search] | 检索与正则表达式相匹配的值。 | 1 | 4 |
[match] | 找到一个或多个正则表达式的匹配。 | 1 | 4 |
[replace] | 替换与正则表达式匹配的子串。 | 1 | 4 |
[split] | 把字符串分割为字符串数组。 | 1 | 4 |