可以通过下面的代码获取匹配部分
var str = "abcdefgname='test'sddfhskshjsfsjdfps"
var reg = /name='((\w|-|\s)+)/ig
str.replace(reg, function() { console.log(arguments.length)//5 console.log(arguments[1])//test })
字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
/**
*x00-xff是指所有ASCII,即单字符,/[^\x00-xff]/g指所有非单字符,包含全角字符,汉字
\u4e00-\u9fa5匹配所有的汉字,只匹配汉字,不包含全角字符,全角字符也占两个字节
/
var strDo = {
getByteLength:function(str){
if(typeof str !== 'string') return 0
return str.replace(/[^\x00-xff]/g,' ').length
},
//检查值是否字母,数字,汉字,且字节长度是大于6小于32
checkVal:function(val){
var reg = /^[a-zA-Z\d\u4e00-\u9fa5]+$/
if(reg.test(val)){
var len = this.getByteLength(val)
return len >6 &&len <32
}else{
return false
}
},
//截取等长字符串
equalLengthStr:function(str,len){
if(typeof str !== 'string') return ''
var len = len || 99999,
tempStr = '',
n = 0
//'/ig'不区分大小写和全局搜索var str = 'a我要取到所有a字符',
result = str.match(/a/ig)
console.log(result) //返回一个数组["a","a"]