匹配第一个bat或者cat,不区分大小写:/[bc]at/i或者new RegExp("[bc]at","i");
匹配所有以"at"结尾的3个字符组合,不区分大小写:/.at/gi;
只能输入数字:^[0-9]*$;
只能输入n位的数字:^\d{n}$
只能输入至少n位的数字:^\d{n,}$
只能输入m~n位的数字:^\d{m,n}$
只能输入零和非零开头的数字:^(0|[1-9][0-9]*)$
只能输入有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
只能输入有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
只能输入非零的正整数:^\+?[1-9][0-9]*$

只能输入长度为3的字符:^.{3}$
只能输入由26个英文字母组成的字符串:^[A-Za-z]+$
只能输入由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
只能输入由数字、26个英文字母或者下划线组成的字符串:^\w+$
验证用户密码:以字母开头,长度在6~18之间,只能包含字符、数字和下划线:^[a-zA-Z]\w{5,17}$
验证是否含有^%&',;=?$"等字符:[^%&',;=?$\x22]+
只能输入汉字:^[\u4e00-\u9fa5]{0,}$
验证email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。验证email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$。验证 email 地址:"^\w+。
验证InternetURL:^([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
验证号(15位或18位数字):^\d{15}|\d{18}$
验证IP地址:^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$
匹配两个两个重叠出现的字符 例如,"aabbc11asd", 返回结果为aa bb 11三组match:(\w)\1
* 8 7 ^* 8 +@ * / a n { | s o k i 2 )t u v w -m s d q ir o -l i t s d 0e k c s jc jo s t k k c o o h ip h j q k h d iz h v 0c k k i lt s d g s j o c l i d e k c s jk s_w g g nw } 。在web开发中,我们经常需要去匹配html标签,大多数的html标签都有一个开始标记和结束标记如
,,如果只需单纯的匹配h1和div我们可以很容易的构造出该正则表达式:。--声明一个url地址-->匹配1-58之间的数字:/^([1-9]|[1-5][0-8])$/
匹配-90至90之间的整数(包括-90和90):^(-?[1-8][0-9]|-?[1-9]|-?90|0)$
匹配收尾空白字符:^\s+|\s+$
中文,全角,半角匹配:
str="中文;;a" alert(str.match(/[\u0000-\u00ff]/g)) //半角 alert(str.match(/[\u4e00-\u9fa5]/g)) //中文 alert(str.match(/[\uff00-\uffff]/g)) //全角
找重复项最多的字符个数:
var str = 'assssjdssskssalsssdkjsssdss'; var arr = str.split(''); //把字符串转换为数组 str = arr.sort().join(''); //首先进行排序,这样结果会把相同的字符放在一起,然后再转换为字符串 //alert(str); // aaddjjkklsssssssssssssssss var value = ''; var index = 0; var re = /(\w)\1+/g; //匹配字符,且重复这个字符,重复次数至少一次。 str.replace(re,function($0,$1){ //alert($0); 代表每次匹配成功的结果 : aa dd jj kk l sssssssssssssssss //alert($1); 代表每次匹配成功的第一个子项,也就是\w: a d j k l S if(index<$0.length){ //如果index保存的值小于$0的长度就进行下面的操作 index = $0.length; // 这样index一直保存的就在最大的长度 value = $1; //value保存的是出现最多的这个字符 } }); alert('最多的字符:'+value+',重复的次数:'+index); // s 17
判断是不是QQ号:
//^ : 放在正则的最开始位置,就代表起始的意思,注意 /[^a] / 和 /^[a]/是不一样的,前者是排除的意思,后者是代表首位。
//$ : 正则的最后位置 , 就代表结束的意思
//首先想QQ号的规则 1 首位不能是0 2 必须是 5-12位的数字 var aInput = document.getElementsByTagName('input'); var re = /^[1-9]\d{4,11}$/; //123456abc为了防止出现这样的情况,所以必须限制最后 //首位是0-9,接着是4-11位的数字类型。 aInput[1].onclick = function(){ if( re.test(aInput[0].value) ){ alert('是QQ号'); }else{ alert('不是QQ号'); } };
去掉前后空格(面试题经常出现):
var str = ' hello '; alert( '('+trim(str)+')' );//为了看出区别所以加的括号。 (hello) function trim(str){ var re = /^\s+|\s+$/g; // |代表或者 \s代表空格 +至少一个 前面有至少一个空格 或者后面有至少一个空格 且全局匹配 return str.replace(re,''); //把空格替换成空 }
常用的一些表单校验:
匹配中文:[\u4e00-\u9fa5] //中文ACALL码的范围 行首行尾空格:^\s*|\s*$ //首行出现任意个空格或者尾行出现任意个空格(任意表示也可以没有空格) Email:^\w+@[a-z0-9]+(\.[a-z]+){1,3}$ //起始至少为一个字符(\w字母,数字或者下划线),然后匹配@,接着为任意个字母或者数字,\.代表真正的点,.后面为至少一个的字符(a-z),同时这个(比如.com)整体为一个子项作为结束,可以出现1-3次。因为有的邮箱是这样的.cn.net。(xxxx.@qq.com xxxx.@163.com xxxx.@16.cn.net ) 网址:[a-zA-z]+://[^\s]* http://...... //匹配不分大小写的任意字母,接着是//,后面是非空格的任意字符 邮政编码:[1-9]\d{5} //起始数字不能为0,然后是5个数字 :[1-9]\d{14}|[1-9]\d{17}|[1-9]\d{16}x
可参考地址:
精通 JS正则表达式
精通正则表达式- 读书笔记
过目不忘JS正则表达式
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-108443-3.html
此时此刻回击美利贱的痛击方法就是大力支持普京在中东的行动
你们就靠着混日子了
要是老萨还活着