1.有字符串 ‘?name=张三&age=20’; 创建一个对象,使用字符串方法或者正则将字符串的属性和值放入对象
var str = '?name=张三&age=20'; var obj = {}; // var newStr = str.split(/[?&]/); // for(var i = 1; i<newStr.length; i ++){ // newStr[i] = newStr[i].split(/=/); // } // for(var i = 1;i<newStr.length;i++){ // for(var j = 0;j<newStr[i].length;j++){ // obj[newStr[i][j]] = newStr[i][++j]; // } // } var newStr = str.split(/[?&=]/); for(var i = 1; i<newStr.length ;i++){ obj[newStr[i]] = newStr[++i]; } console.log(obj.age);
2.判断以下正则的值, 并自行验证
// 说出正则表达式的含义,写出下面匹配的结果/*************** 一元字符 ****************/var reg = /b..k/;var str = "books";var str2 = "boooks";reg.test(str); /truereg.test(str2); /false// var reg = /t\wq/;var str1 = "2222t2qkkk";var str2 = "aaaaat$qbbbbb";reg.test(str1); /truereg.test(str2); /falsevar reg = /\Dook/;var str = "8ook";reg.test(str); /falsevar reg = /java\sscript/;var str = "study java script";reg.test(str); /truevar reg = /javascript|html|css/;var str = "study javascript";reg.test(str); /true/*********** 匹配开始和结束 *************/var reg = /^huruqing/;var str = "huruqing123456";reg.test(str); /truevar reg = /^huruqing$/;var str = "huruqing123456";reg.test(str); /false/*********** 重复 *************/var reg = /bo?k/;var str = "book";reg.test(str); /truevar reg = /bo*k/;var str = "boook";reg.test(str); /true//+ 前面子表达式出现1次或多次var reg = /bo+k/;var str = "boook";reg.test(str); /true//{m,n}最少出现m次,最多出现n次var reg = /bo{2,4}k/;var str = "boooook"; reg.test(str); /false//{m,}最少出现m次var reg = /bo{2,}k/;var str = "boooook";reg.test(str); /true//{m}正好出现m次var reg = /bo{2}k/;var str = "boook";reg.test(str); /false/****************** 反义 ****************/var reg = /o[^usb]t/;var str = "oat";reg.test(str); /truevar reg = /[a-zA-Z0-9]ook/;var str = "8ook";reg.test(str); /true