正则基本用法
str:要替换的字符串
\s : 表示 space ,空格
*: 一个或多个
^: 开始,^\s,以空格开始
$
: 结束,\s$
,以空格结束
|:或者
/g:global, 全局
replace() 替换
\w:与任何单词、任何字符匹配
+:匹配一次或多次
*:匹配0个或多个
?:0个或1个
reg.test(str):测试字符串中是否由匹配reg项
str.match(reg):返回匹配项的数组
str.replace(正则表达式,function(匹配项){返回替代匹配的项})
1.实现javascript在String中写一个trim,要求能够去除一个字符串开始和结尾的空格
function trim(str){ //删除左右两端的空格
return str.replace(/(^\s*)|(\s*$)/g, "");
}
function ltrim(str){ //删除左边的空格
return str.replace(/(^\s*)/g,"");
}
function rtrim(str){ //删除右边的空格
return str.replace(/(\s*$)/g,"");
}
2.邮箱有效性验证
1.@之前必须有内容且只能是字母(大小写)、数字、下划线(_)、减号(-)、点(.)
2.@和最后一个点(.)之间必须有内容且只能是字母(大小写)、数字、点(.)、减号(-),且两个点不能挨着
3.最后一个点(.)之后必须有内容且内容只能是字母(大小写)、数字且长度为大于等于2个字节,小于等于6个字节
^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$
/^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/ // \w:与任何单词、任何字符匹配 +:匹配一次或多次 *:匹配0个或多个
3.将字符串转换为驼峰格式
如: -webkit-border-image 转换后的结果为 webkitBorderImage
function cssStyle2DomStyle(sName) {
return sName.replace(/(?!^)\-(\w)(\w+)/g, function(a, b, c){
return b.toUpperCase() + c.toLowerCase();
}).replace(/^\-/, '');
}
4.颜色字符串转换
如rgb(255, 255, 255) 转为 #ffffff
var regexp=/rgb\((\d+),\s*(\d+),\s*(\d+)\)/;
var ret=sRGB.match(regexp);