1JavaScript 正则表达式
支持正则表达式的 String 对象的方法
方法 | 功能 |
search | 检索与正则表达式相匹配的值。找到返回第一次出现下标,没有找到返回-1 |
match | 找到一个或多个正则表达式的匹配。 |
replace | 替换与正则表达式匹配的子串。 |
split | 把字符串分割为字符串数组。 |
RegExp与perl风格的区别
使用RegExp:
var reg = new RegExp("\\d");
var str = "gj6hg";
alert(str.search(reg)); //返回第一次出现下标
运行结果:2
使用perl风格:
var reg = /\d/;
var str = "gj6hg";
alert(str.search(reg));//2
alert(reg.test(str) ); 结果 ---à true 匹配上返回true,没有匹配返回false
运行结果:22 tttrue
true
正则表达式的模式修饰符
模式修饰符 | 含义 |
i | 忽略大小写 |
g | 全局匹配。 表示该表达式将用来在输入字符串中查找所有可能的匹配,返回的结果可以是多个。如果不加/g最多只会匹配一个。 |
正则表达式的或运算 |
| 也是或运算符,可同时匹配多项
正则表达式中的方括号
方括号用于查找某个范围内的单个字符(一对中括号代表一个字符):
表达式 | 功能 |
[abc] | 查找方括号之间的任何字符。 |
[^abc] | 查找任何不在方括号之间的字符。 |
[0-9] | 查找任何从 0 至 9 的数字。 |
[a-z] | 查找任何从小写 a 到小写 z 的字符。 |
[A-Z] | 查找任何从大写 A 到大写 Z 的字符。 |
[A-z] | 查找任何从大写 A 到小写 z 的字符。 |
正则表达式中的边界控制
边界控制:匹配字符串开始和结束的位置。
^ 行首:匹配字符串开始位置(必须在方括号外面)。
$ 行尾:匹配字符串结束位置。
正则表达式中的元字符
元字符(Metacharacter)是拥有特殊含义的字符:
元字符 | 功能 |
. | 查找任意单个字符,除了换行和行结束符。 |
\w | 查找单词字符(英文、数字、下划线)。 [a-zA-Z0-9_] |
\W | 查找非单词字符。[^a-zA-Z0-9_] |
\d | 查找数字。 [0-9] |
\D | 查找非数字字符。[^0-9] |
\s | 查找空白字符(空格、tab、换行的不可显示和打印的字符)。 |
\S | 查找非空白字符。 |
\n | 查找换行符。 |
\f | 查找换页符。 |
\r | 查找回车符。 |
\t | 查找制表符。 |
正则表达式中的量词
量词用于匹配数量:
量词 | 功能 |
+ | 前面字符出现一次或多次,相当于{1,}。 |
* | 前面字符出现零次、一次或多次,相当于{0,}。 |
? | 前面字符出现零次或一次,相当于{0,1}。 |
{n} | 前面字符出现n次。 |
{n,m} | 前面字符最少出现n次,最多出现m次。 |
{n,} | 前面字符最少出现n次,最多不限。 |
2. JSON
应用程序之间交换数据,主流用JSON格式。
提交学生的名单 -----à 接收和分析学生的名单
数据格式:1. XML__可扩展的标记语言,标签名都可以自己定义。(html标签名都是固定的 p, br,)缺点:文件有点复杂。
2. JSON
<students>
<student>
<name>张三</name>
<age>16</age>
</student>
<student>
<name>李四</name>
<age>17</age>
</student>
<student>
<name>王五</name>
<age>18</age>
</student>
</students>
2.1 JSON的表示形式:
1. 表示对象。{属性名1:属性值1, 属性名2:属性值2}
属性值的类型, Boolean, number, string, 对象类型
2 表示数组:[{},{},{}………]
2.2 访问方式:
对象.属性
2.3 通过for ….in 的方式访问JSON
访问JSON对象
for(var I in json对象),遍历的是对象的属性,i是下标,下标从0开始,得到的元素是属性的名。
stu1[i]+" ;"
访问JSON数组
stus[i]+"姓名:"+stus[i].name+",年龄:"+stus[i].age+"<br />"
2.4JSON和字符串之间的转换
JSON和JavaScript的关系:
JSON是ECMAScript的一个子集。很多语言都支持JSON,不只是JavaScript.
字符串转JSON对象 eval( “(” + str + “)”);
JSON对象转字符串 JSON.stringify(obj);