##正则表达式
-
创建对象
-
Pattern p = Pattern.compile(正则表达式)
-
Matcher m = p.matcher(要匹配的字符串)
-
s.matches(正则表达式) 当前字符串是否与正则表达式相匹配
-
s.replaceAll(正则表达式, 子串) 匹配正则表达式的子串,替换为新的子串
-
s.split(正则表达式) 用正则表达式匹配的子串,拆分当前字符串
-
^ 正则中非得意思例:/[^\d] 非数字类型 和\D 意思是一样的
-
\d 数字类型[0~9]
-
\D 数字以外的所有字符
-
\w 单词字符[a-zA-Z_0-9] [^\w] 相当于\W;
-
\W 排除单词字符
-
\s 空白字符
-
\S 排除空白字符
-
. 所有字符
-
$ 匹配输入字符串的结束位置
-
- 匹配前面的字表达式一次或多次(大于1次)类似于{1,}最少1个,例:"zo+"能匹配"zo"以及"zoo"但是不能匹配z
-
? 匹配前面的子表达式零次或一次,例:“do(es)?”可以匹配“do”或“does” 等价于{0,1} 0个或一个
-
- 匹配前面的子表达式任意次。例如,zo*能匹配“z”,“zo”以及“zoo”。*等价于{0,}
-
[]{4 } 必须是4个
-
[]{3,5} 三到多个,
-
[]{3,} 最少3个
-
\ 转译运算符 输出字符串中不能单独使用
-
输入数字<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
<input name=txt1 onkeyup="if(/[^\d.]/.test(this.value)){alert('只能输入数字');this.value='';}">
<input id="mpsRecordChildList{{idx}}_refSubId" value=0 onKeyUp="if(this.value.length==7){this.value=0};this.value=this.value.replace(/\D/g,'');"
输入数字
~~~字母 数字组合
^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$
手机号
^1[3|4|5|7|8|6|9][0-9]\d{4,8}$
身份证
/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
车牌号
^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[a-zA-Z](([DF]((?![IO])[a-zA-Z0-9](?![IO]))[0-9]{4})|([0-9]{5}[DF]))|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$
字母数字组合,长度6~10
/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$/