// 对象转成JSON字符串
var obj2={"name":"egon","age":18};
str2=JSON.stringify(obj2); // "{"name":"egon","age":18}"
?
// JSON格式的字符串转成对象
var str1='{"name":"egon","age":18}';
var obj1=JSON.parse(str1);
console.log(obj1.name); // 'egon'
console.log(obj1["name"]); // 'egon'
1. 创建正则对象的方式1
参数1 正则表达式
参数2 匹配模式:常用g(全局匹配;找到所有匹配,而不是在第一个匹配后停止)和i(忽略大小写)
var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$"); // 匹配用户名只能是英文字母、数字和_
reg1.test("egon_123") // true //首字母必须是英文字母,长度最短不能少于6位 最长不能超过12位。
注意:正则放到引号内,{}内的逗号后面不要加空格
2. 创建正则对象的方式2
var reg2 = /^[a-zA-Z][a-zA-Z0-9_]{5,11}$/; // 不要加引号
reg2.test("egon_123") // true
3. String对象与正则结合的4个方法
var s1="hello world";
s1.match(/l/g) // 符合正则的内容["l", "l", "l"]
s1.search(/h/g) // 符合正则的内容的第一个索引0
s1.split(/ /) // ["hello", "world"],默认全部切割
s1.replace(/l/g,'L') // "heLLo worLd"
4. 匹配模式g与i
var s2="name:Egon age:18"
s2.replace(/e/,"赢") // "nam赢:Egon age:18"
s2.replace(/e/g,"赢") // "nam赢:Egon ag赢:18"
s2.replace(/e/gi,"赢") //"nam赢:赢gon ag赢:18"
1、如果regExpObject带有全局标志g,test()函数不是从字符串的开头开始查找,而是从属性regExpObject.lastIndex所指定的索引处开始查找。
2、该属性值默认为0,所以第一次仍然是从字符串的开头查找。
3、当找到一个匹配时,test()函数会将regExpObject.lastIndex的值改为字符串中本次匹配内容的最后一个字符的下一个索引位置。
4、当再次执行test()函数时,将会从该索引位置处开始查找,从而找到下一个匹配。
5、因此,当我们使用test()函数执行了一次匹配之后,如果想要重新使用test()函数从头开始查找,则需要手动将regExpObject.lastIndex的值重置为 0。
6、如果test()函数再也找不到可以匹配的文本时,该函数会自动把regExpObject.lastIndex属性重置为 0。
var reg3 = /egon/g;
reg3.lastIndex
0
reg3.test("egon") // true,匹配成功
true
reg3.lastIndex // 匹配成功reg3.lasIndex=4
4
reg3.test("egon") // 从4的位置开始匹配,本次匹配失败
false
reg3.lastIndex // 匹配失败,lastIndex归为0
0
reg3.test("egon") // 再次匹配成功
true
当我们不加参数调用RegExpObj.test()方法时, 相当于执行RegExpObj.test("undefined"), 且/undefined/.test()默认返回true。
var reg4 = /^undefined$/;
reg4.test(); // 返回true
reg4.test(undefined); // 返回true
reg4.test("undefined"); // 返回true
//算数运算符:
+ - * / % ++ --
//比较运算符:
> >= < <= != == === !==
//逻辑运算符
&& || !
//赋值运算符
= += -= *= /=
var age=18;
if(age > 18){
console.log('too old');
}
else if(age == 18){
conso