正則表達式的使用
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表示數(shù)字[0-9]的9位,總共加起來11位結(jié)束。
大寫字母
/^[A-Z]+$/
日期,如: 2000-01-01
/^\d{4}(-)\d{1,2}\1\d{1,2}$/
email地址
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
國內(nèi)座機電話,如: 0341-86091234
/\d{3}-\d{8}|\d{4}-\d{7}/
/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/
身份證號(15位、18位數(shù)字),最后一位是校驗位,可能為數(shù)字或字符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字節(jié),允許字母數(shù)字下劃線組合
/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/
只包含中文
/^[\u4E00-\u9FA5]/
是否小數(shù)
/^\d+\.\d+$/
是否電話格式(手機和座機)
/^((0\d{2,3}-\d{7,8})|(1[345789]\d{9}))$/
是否8位純數(shù)字(當然也可以6位,靈活應用)
/^[0-9]{8}$/
是否html標簽
/<(.*)>.*<\/\1>|<(.*) \/>/
是否qq號格式正確
/^[1-9]*[1-9][0-9]*$/
是否由數(shù)字和字母組成
/^[A-Za-z0-9]+$/
是否小寫字母組成
/^[a-z]+$/
密碼強度正則,最少6位,包括至少1個大寫字母,1個小寫字母,1個數(shù)字,1個特殊字符
/^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/
用戶名正則,4到16位(字母,數(shù)字,下劃線,減號)
/^[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位,以字母開頭,字母,數(shù)字,減號,下劃線
/^[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}$/
只包含中文和數(shù)字
/^(([\u4E00-\u9FA5])|(\d))+$/
非字母
/[^A-Za-z]/