正则表达式的使用
search()方法 检索与正则表达式相匹配的子字符串,并返回子串的起始位置
var str = "nihaoaxing"; var n = str.search(/axing/i);
输出:6
replace() 方法 用于在字符串中用一些字符替换另一些字符
var txt = str.replace("Microsoft","Runoob");
test()方法 检测一个字符串是否匹配某个正则模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
/e/.test("The best things in life are free!")
字符串中含有 "e",输出:true
手机号
/^1(3|4|5|6|7|8|9)\d{9}$/
/^1[3456789]\d{9}$/
解释:表示以1开头,第二位可能是3/4/5/7/8等的任意一个,在加上后面的\d表示数字[0-9]的9位,总共加起来11位结束。
大写字母
/^[A-Z]+$/
日期,如: 2000-01-01
/^\d{4}(-)\d{1,2}\1\d{1,2}$/
email地址
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
国内座机电话,如: 0341-86091234
/\d{3}-\d{8}|\d{4}-\d{7}/
/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/
身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X
15位:isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
18位:isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
身份证正则合并:(^\d{15}$)|(^\d{17}([0-9]|X)$)
帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线组合
/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/
只包含中文
/^[\u4E00-\u9FA5]/
是否小数
/^\d+\.\d+$/
是否电话格式(手机和座机)
/^((0\d{2,3}-\d{7,8})|(1[345789]\d{9}))$/
是否8位纯数字(当然也可以6位,灵活应用)
/^[0-9]{8}$/
是否html标签
/<(.*)>.*<\/\1>|<(.*) \/>/
是否qq号格式正确
/^[1-9]*[1-9][0-9]*$/
是否由数字和字母组成
/^[A-Za-z0-9]+$/
是否小写字母组成
/^[a-z]+$/
密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
/^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/
用户名正则,4到16位(字母,数字,下划线,减号)
/^[a-zA-Z0-9_-]{4,16}$/
ipv4地址正则
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
16进制颜色
/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
微信号,6至20位,以字母开头,字母,数字,减号,下划线
/^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/
中国邮政编码
/^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/
只包含中文和数字
/^(([\u4E00-\u9FA5])|(\d))+$/
非字母
/[^A-Za-z]/