一.对象序列化,反序列化
说到对象的序列化,需要先了解一种数据:JSON数据:它是一种字符串,形如js语言中的对象的表示形式:“name=karen&pwd=123”,就像这个字符串.我们通过代码来看:
JSON.parse的使用:
var str='{"name":"123"}'
var str='{"age":18,"its":[1,12,3,12,3,123]}'
var re=JSON.parse(str)//使用JSON.parse()把str里存储的字符串转换成了对象的格式;
console.log(re)//{age:18,its:array(6)}
在实例中的使用,比如我们可以用JSON.parse()来读取某网站的数据文件,把他转化成能看懂的格式:
<script src="app/tool.js" type="text/javascript" charset="utf-8"></script>//引用在js里写好的tool工具
<script type="text/javascript">
tool("http://192.168.8.100:8081",function(data) { //使用格式
console.log(data)
var re=JSON.parse(data)
console.log(re)
})
</script>
JSON.stringify()的使用:让一个对象的格式更加严谨
var obj={name:"karen"};
var str=JSON.stringify(obj)//让obj的写法更严谨
console.log(str)//{"name":"karen"}
二.正则表达式
首先我们先来了解几个小技术,比如在字符串str=“ab"c"de”;这个代码中,我们想的到的是外面双引号里的整体,而实际表达的却是:str=“ab” c “de”;//这里空格是为了方便观看,实际上是不存在的.怎么样才能让c两边的"成为字符串内部的一部分呢?可以这么写:“ab"c"de”;
这时就可以达到我们预期的效果了;
- 正则表达式 regular expression;它是一个为字符串而生的技术,我们用代码来理解它:
var reg=new RegExp("aBC")
//包含"abc"规则
//var reg=/abc/i 这种写法更简洁,i的意思是不区分大小写,把这行打开打印值一样为true
var str="aBC123"
var re=reg.test(str)//reg.test()判断str中有没有RegExp()中的字符串,有则返回ture,无则false
console.log(re)
var str="aqwe中国rtasdf中国qw中国e"
var reg=/中国/g //g的用法是打印字符串str中拥有的所有的/ /内的字符串
var re=str.match(reg)
console.log(re)//{"中国","中国","中国"}
var str="aqwe中国rtasdf中国qw中国e"
var reg=/中国/ //这里/ /的用法是打印str中第一个中国,第一个中国的下标,原字符串
var re=str.match(reg)
console.log(re)//{"中国",index:4,input:"aqwe中国rtasdf中国qw中国e",groups:undfinded}
我们还要记住一些方法:
match() 找到一个或多个正则表达式的匹配。
replace() 替换与正则表达式匹配的子串。
search() 检索与正则表达式相匹配的值。
我们还可以记一些特殊的方法,方便我们实战使用:
比如:
邮箱:
var reg=/^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-z]{2,}$/