对象的序列号和反序列化
重点:
JSON数据: 一种字符串 长得像js语言中的对象 的表示形式,可以理解为把一个对象tostring后得到的字符串,我们在以后的工作中遇到的后端发过来的数据有很多这样的
eg:
var str='{"age":18,"its":[1,12,3,12,3,123]}'
var re=JSON.parse(str)
console.log(re)
打印出来是一个对象,可以通过JSON.parse方法实现将一个json数据转化为一个对象,达到能被使用的样子
var obj={name:"karen",age:18};
var re=JSON.stringify(obj)
console.log(re)
可以通过JSON.stringify达到将一个对象转化为一个JSON的字符串
可以自己写一个工具实现这个功能
正则表达式
正则表达式 regular expression
为字符串而生的技术
var reg=new RegExp("abc")
// 包含"abc"规则
var reg=/abc/i var一个正则表达式,规则为abc,后面加i表示不区分大小写
var str="aBC123"
var re=reg.test(str) //检测str中是否有这个表达式,返回值为布尔类型
console.log(re) //true
var str1="aqwe中国rtasdf中国qw中国e"
var reg=/中国/g
var re1=str.match(reg) //如果在正则表达式后面加g,则会查找全部的数据,将查找到的返回在一个数组中,如果要数一共出现了多少次,打印length+1则可以,如果后面不加g,则会返回"中国",还有下标的值
console.log(re)
match() 找到一个或多个正则表达式的匹配。
replace() 替换与正则表达式匹配的子串。
search() 检索与正则表达式相匹配的值。
需要特别知道的是邮箱
<script>
var reg = /^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-z]{2,}$/
</script>
<style type="text/css">
.success {
border: 1px green solid;
}
.danger {
border: 1px red solid;
}
</style>
<input type="text" name="userid" id="userid" value="" />
<script type="text/javascript">
userid.onchange = function () {
var reg =
/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
if (reg.test(this.value)) {
this.className = "success"
} else {
this.className = "danger"
}
}
</script>