求一个日历效果
正则的两种写法
var re=//;
var re=new RegExp();
正则方法test 正则去匹配字符串,匹配成功true,不成功false
var str='abcdef';
var re=/b/;
alert(re.test(str));//true
正则方法Search 正则去匹配字符串,匹配成功,返回匹配位置,不成功返回-1
var str='abcdef';
var re=/C/i;
alert(str.search(re));//2
正则方法match 正则去匹配字符串,匹配成功就返回匹配成功的数组,不成功返回null
var str='sdf12ssdf2646sdfe';
var re=/\d+/g;
alert(str.match(re));
正则方法replace 正则去匹配字符串,匹配成功字符去替换成新的字符
replace:第二个参数,可以是字符串,也可以是一个回调函数
var str='aaa';
var re=/a/g;
str=str.replace(re,'b');
alert(str);//bbb;
转义字符
\s:空格
\S:非空格
\d:数字
\D:非数字
\w:字符 (字母,数字,下划线_)
\W:非字符
\b:独立的部分(起始,结束,空格)
\B:非独立的部分
.:任意字符
\.:真正的点
写法
//正则默认是区分大小写的
i : 不区别大小写,写到正则最后
//正则默认匹配成功就会结束,不会继续匹配
g : 全部查找(全局匹配),写到正则最后
+ : 量词,匹配不确定位置,至少出现一次
{}: 量词,比如{4,7}最少出现4次,最多出现7次,
如果是{4,}最少出现4次,{4}正好出现4次
? : 量词,表示0次或者1次用{}表示的话就是{0,1};
* : 量词,至少出现0次,用{}表示就是{0,};
| : 或的意思
(): 匹配子项,还有另外一个意思分组操作,整个正则就是一个整体,第个()就是子项
[] :字符类:一级相似的元素用表示
^ :排除,如果^写在[]里面的话,就代表排除的意思,
如果放到正则最前面就代表起始的意思
$ :结束,如果放到正则最后位置,就代表结束的意思
a-z:范围还可以0-9
\1,\2:重复子项,如果是1就是重复第1个子项,如果是2就是第2个子项
例子1
var str='2015-5-5';
var re=/(\d+)(-)/g;
str.replace(re,function($0,$1,$2){
//$0==(\d+)(-)
//$1==(\d+)
//$2==(-)
alert($0);
})
例子2
var str='abs';
//var str='abcs'; //下面会返回false;
var re=/a[bde]s/; //[]有些像js里的!
alert(re.test(str));//true;
例子3
var str='abs';
var re=/a[^bde]s/;//排除bde
alert(re.test(str));//false;
例子4
var str="one two";
var re=/one\b/;
alert(re.test(str));//true;
例子5
//如果要alert个符号必须要在他前面加个\转义;
例子6
var str='abca';
var re=/(a)(b)(c)\1/;//\2 abcb false
alert(re.test(str));;//true
例子7
匹配中文:[\u4e00-\u9fa5]
行首行尾空格:^\s*|\s*$
Email:^\w+@[a-z0-9]+(\.[a-z]+){1,3}$
网址:[a-zA-z]+://[^\s]*
QQ号:[1-9][0-9]{4,9}
邮政编码:[1-9]\d{5}
身份证:[1-9]\d{14}|[1-9]\d{17}|[1-9]\d{16}x
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
www.layui.com
有你想要的layDate
还有弹出层layer