正则在一般情况下不会用,但有时需解析字符串时就体现了它的能力。
通过我们是用//.text()这样来判断。用在验证上。
正规是用RegExp来创建。
var regexp1=new RegExp('as','gmi');
正则对象的方法有exec test 等。
exec:
var res=regexp1.exec('fdasfdsastar')
//exec 检测与正则的匹配,返回一个数组,存着匹配的结果。未找到返回null
//exec会查找出每一个匹配的并返回数组,
//数组0保存着要匹配的字符串,然后是正则()内的,然后是index 查找的下标 和input 要查找的字符串
console.log(regexp1.lastIndex)//lastIndex可以返回本次匹配字符串结束的Index
//exec可以重复执行,查找下一个匹配的
console.log(regexp1.exec('fdasfdsastar'));
//直到返回null
console.log(regexp1.exec('fdasfdsastar'));
/*exec 可以用于在一段有规律的字符串内找到要求的内容
* 如cookie 它的规则 是name=XXX;name=XX
* 获取指定name的值可以用exec
*/
var ck='age=1452566255;name=star;io=bxE3cHC6pBqk9cMMAAAA;'
function getname(name){
//正则需要查找=后的直到;需要返回=;这间的所以是name+()这样来写,()内的内容通过数组1来获取
//[]表示包含其中的任意 ^; 表示非;也就是不是;的+表示匹配任何不包含;的
//^在数组中表示不包括。^a 表示以a开头
//var regexp1=new RegExp(name+'=([^;]+)','gmi');
console.log(regexp1.exec(ck))
}
getname('name');
支持正则表达式的string对象的方法
search
//search 它是由字符串来调用的参数是正则,返回匹配内容的开始下标
console.log(ck.search(/name=/gmi))
match
//match 是字符串方法参数是正则,返回匹配的结果数组,值是查找出来的字符串
console.log(ck.match(/([^;]+)/gmi))
replace
replace(//,XX) 正则查找并替换字符串
split
split() 以指定内容分隔成数组