先讲讲一下字符串的操作
search 查找 //找到返回位置
substring 获取子字符串 //获取其中一段
charAt 获取某个字符
split 分割字符串,获得数组
replace 替换 //单独来讲没啥意义,配合正则比较牛逼,如敏感词的替换操作
RegExp对象 (有两种风格)
- JS风格——new RegExp(“a”, “i”)
- perl风格——/a/i (用下面的多吧)
说说一些变量
var str='12 fff 87 er334 233 -=-=fa80';
alert(str.match(/\d+/)); // match 获取匹配的项目
alert(str.match(/\d+/g));
这是后面的 g 变量(全局匹配),就是把字符串所有符合要求的,以数组形式返回。
- 还有一个 i 变量 ,这是忽略字符串大小写的。
关键点来了呀 小老弟 听课
还有组合的 如 [a-z0-9A-Z]
转义字符:
.(点)——任意字符
\d:表示数字 [0-9] \w:表示英文 数字 下划线 [a-z0-9_]
\s:表示空白字符 空格 tab那些 (无法打印出的
大写的这些 就是上面的非
\D :除数字以外 [^0-9] \W、\S 其他也是 就话不多说
量词
1.{n} 正好n次
2.{n,m} 最少n,最多m
3.{n,} 最少n,最多不限
4. + {1,n}
5. ? {0,1} (这个就如固定电话,前面的区号可有可无
010-87496698-86
如 (0\d{2,3}-)?[1-9]\d{7}(-\d{1,5})? )
6. * {0,} 可没,可有很多 (不推荐使用,因为没有也算,容易混乱)
7. ^ 行首 // 7,8后面有说明
8. $ 行尾
大BOSS来了 校验邮箱 小实例
var oTxt=document.getElementById('txt1');
var oBtn=document.getElementById('btn1');
oBtn.onclick=function ()
{
var re=/^\w+@[a-z0-9]+\.[a-z]+$/i;
//这里加 ^ $ 是因为为了让所输入的字符串从头到尾都符合正则
//因为 re.test() 只要有其中一部分是对的 都返回true。
if(re.test(oTxt.value))
{
alert('合法的邮箱');
}
else
{
alert('你丫写错了');
}
};