Javascript教程七——标准对象

标准对象

正则表达 RegExp

正则表达式是一种用来匹配字符串的强有力的武器,可以帮助规定电话、邮箱等的具体格式。

规则如下:

1、用\d可以匹配一个数字,\w可以匹配一个字母或数字
2、 . 可以匹配任意字符
3、用 * 表示任意个字符(包括0个),用+表示至少一个字符,用?表示0个或1个字符,用{n}表示n个字符,用{n,m}表示n-m个字符
4、\s 可以匹配一个空格
5、特殊字符使用 \ 进行转译即可
6、[] 规定匹配范围
		1)[0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线
		2)[0-9a-zA-Z\_]+可以匹配至少由一个数字、字母或者下划线组成的字符串
		3)[0-9a-zA-Z\_]*可以匹配0/多个由数字、字母或者下划线组成的字符串
		4)[]{0,19} 精确匹配的数量 0-19
7、 ^表示行的开头,^\d表示必须以数字开头
	$表示行的结束,\d$表示必须以数字结束。

创建RegExp对象

第一种方式是直接通过 /正则表达式/ 写出来
第二种方式是通过 new RegExp(‘正则表达式’)创建一个RegExp对象

var re1 = /^\d{3}\-\d{3,8}$/;
var re2 = new RegExp('ABC\\-001');

RegExp对象的test()方法用于测试给定的字符串是否符合条件。

切分字符串

用正则表达式切分字符串比用固定的字符更灵活。

a,b, c  d'.split(/[\s\,]+/); // 空格和,划分字符串 [a,b,c,d]

分组

正则表达式还有提取子串的强大功能。用 () 表示的就是要提取的分组。

var re = /^(\d{0-3})-(\d{3-8})$/

上面有两个(),因此上面的正则表达式分成了两组,可以利用exec()来进行字符串的分组, exec()方法在匹配成功后,会返回一个Array,第一个元素是正则表达式匹配到的整个字符串,后面的字符串表示匹配成功的子串

var arr = '000-3333'
re.exec(arr); // ['000-3333', '000', '3333']

贪婪匹配

正则匹配默认是贪婪匹配,也就是匹配尽可能多的字符.
如想取消贪婪匹配,加个 ? 就可以。

var re = /^(\d+?)(0*)$/;
re.exec('102300'); // ['102300', '1023', '00']

JSON

JSON是JavaScript Object Notation的缩写,它是一种数据交换格式。
JSON实际上是JavaScript的一个子集。
number、array、string、boolean、object类型基本和js一致,JSON的字符串规定必须用双引号"",Object的键也必须用双引号""。

JSON与javascript对象转换

把任何JavaScript对象变成JSON,就是把这个对象序列化成一个JSON格式的字符串,这样才能够通过网络传递给其他计算机。

var person = {
	name: 'ruby';
	age: 20
};
var s = JSON.stringify(person); // {"name": "ruby", "age": 20}

收到一个JSON格式的字符串,只需要把它反序列化成一个JavaScript对象,就可以在JavaScript中直接使用这个对象了。

JSON.parse()把它变成一个JavaScript对象:

JSON.parse(s); 

本文是根据廖雪峰老师的教程所做笔记,如有疑问,可以仔细阅读廖雪峰老师教程https://www.liaoxuefeng.com/wiki/1022910821149312

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值