· 字符串操作
var str='asdfghert';
//alert(str.search('s')); //查找位置,没有就是-1
//alert(str.substring(2,5)); //获取子字符串,不包括结束位置
//alert(str.charAt(1)); //返回字符串的某一位
var str1='123-asd-gf-ewr-zxc';
alert(str1.split('-')); //字符串分割,获得数组
· 找出数字(字符串操作)
var str='asd123 xzcv324 =-014 as23'
var tmp='';
var arr=[];
for (var i=0;i<=str.length;i++)
{
if(str.charAt(i)>='0' && str.charAt(i)<='9')
{
tmp+=str.charAt(i);
}
else
{
if(tmp)
{
arr.push(tmp);
tmp='';
}
}
}
if(tmp)
{
arr.push(tmp);
tmp='';
}
· 找出数字(正则)
var str='asd123 xzcv324 =-014 as23'
alert(str.match(/\d+/g));
· 第一个正则表达式
var str='ncAdaS'
//忽略大小写找出a
//JS写法
var re=new RegExp('a','i');
//perl写法
var re=/a/i;
alert(str.search(re));
· match(把所有匹配的东西提取出来)
var str='asd123 asdas3453 asd678';
// /\d/:找数字 ,/\d+/:若干(多少都可以),/\d/g:找到全部的数字
var re=/\d+/g;
alert(str.match(re));
· replace(替换)
var str='d43 4s6 654';
var re=/4/g
//把4全部替换成*
alert(str.replace(re,'*'));
· 敏感词过滤
oBtn.οnclick=function ()
{
var re=/淘宝|北京/g;//把淘宝、北京都替换成**实现过滤效果
oTxt2.value=oTxt1.value.replace(re ,'**');
};
· 方括号
var str='apx 56x rpx 1px qpx 9px';
//a,r,q 任选一个和px匹配
//var re=/[arq]px/g;
//把0-9范围之间的数字全部提取出来
//var re=/[0-9]/g
//排除0-9的数字
var re=/[^0-9]/g
alert(str.match(re));
· 过滤HTML标签
oBtn.οnclick=function ()
{
var re=/<[^<>]+>/g;
oTxt2.value=oTxt1.value.replace(re, '');
};
· 邮箱校验
oBtn.οnclick=function ()
{
var re=/^\w+@[a-z0-9]+\.[a-z]+$/i;
if(re.test(oTxt.value))
{
alert('合法邮箱');
}
else
{
alert('错误邮箱');
}
};
笔记:
JS中的正则表达式
·正则表达式基础-1
1.复习字符串操作
(1)seach 查找 (位置,没有就是-1)
(2)substring 获取子字符串(截取子字符串,没有结束位置)
(3)charAt 返回字符串的某一位
(4)split 字符串分割,获得数组
2.找出字符串中的所有数字
(1)传统方法
(2)用正则表达式完成
·正则表达式基础-2
1.什么是正则表达式
(1)什么是正则 ---规则、模式
(2)强大的字符串匹配工具
(3)RegExp对象:
JS风格 : new RegExp('a') new RegExp('a','i')
perl风格 : /a/ 忽略大小写:/a/i
·字符串与正则配合
1.忽略大小写:i——ignore
2.全局匹配:g——global
3.量词:+
4.例子:找出所有数字
转义:/\d/,找数字 ;/\d/g 找到全部的数字;/\d+/若干(多少都可以)
5.match:把所有匹配的东西提取出来
6.replace();替换 例子:过滤敏感词汇.
·方括号
1.任意字符:o[usb]t——obt、ost、out
2.范围:/d 就是[0-9]
3.排除:[^0-9],除了数字以外的
4.组合:[a-z0-9A-Z]
5.实例:偷小说
6.过滤HTML标签
(1)任意字符: .(点)
(2)除了什么以外: ^(前面加这个符号)
·转义字符
\d 数字 [0-9]
\w 英文、数字、下划线 [a-z0-9_]
\s 空白字符
\D 除了数字0-9 [^0-9]
\W [^a-z0-9_]
\S 非空白字符
·量词
{n} 正好出现n次
{n,m} 最少n次,最多m次
{n,} 最少n次,最多不限
+ {1,}
? {0,1} 可有可无
* {0,} (尽量不用)
·常用正则例子
邮箱校验
1.test 正则检验 :字符串一部分符合要求,就返回true
2.^ (行首)
3.$ (行尾)