Java常用的正则表达式验证
1public class Regex {
2
3/**
4* 检查 email输入是否正确
5* 正确的书写格式为 username@domain
6* @param value
7* @return
8*/
9public boolean checkEmail(String value, int length) {
10return
value.matches("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*")&&value.l ength()<=length;
11 }
12
13/**
14* 检查电话输入是否正确
15* 正确格式 012-87654321、0123-87654321、0123-7654321
16* @param value
17* @return
18*/
19public boolean checkTel(String value) {
20return value.matches("\\d{4}-\\d{8}|\\d{4}-\\d{7}|\\d(3)-\\d(8)");
21 }
22
23/**
24* 检查手机输入是否正确
25*
26* @param value
27* @return
28*/
29public boolean checkMobile(String value) {
30return value.matches("^[1][3,5]+\\d{9}");
31 }
32
33/**
34* 检查中文名输入是否正确
35*
36* @param value
37* @return
38*/
39public boolean checkChineseName(String value, int length) {
40return value.matches("^[\u4e00-\u9fa5]+$")&&value.length()<=length;
41 }
42/**
43* 检查HTML 中首尾空行或空格
44* @param value
45* @return
46*/
47public boolean checkBlank(String value){
48return value.matches("^\\s*|\\s*$");
49 }
50/**
51* 检查字符串是否含有HTML标签
52* @param value
53* @return
54*/
55
56public boolean checkHtmlTag(String value){
57return value.matches("<(\\S*?)[^>]*>.*?\\1>|<.*? />");
58 }
59/**
60* 检查URL是否合法
61* @param value
62* @return
63*/
64public boolean checkURL(String value){
65return value.matches("[a-zA-z]+://[^\\s]*");
66 }
67/**
68* 检查IP是否合法
69* @param value
70* @return
71*/
72public boolean checkIP(String value){
73return value.matches("\\d{1,3}+\\.\\d{1,3}+\\.\\d{1,3}+\\.\\d{1,3}");
74 }
75/**
76* 检查ID是否合法,开头必须是大小写字母,其他位可以有大小写字符、数字、下划线
77* @param value
78* @return
79*/
80public boolean checkID(String value){
81return value.matches("[a-zA-Z][a-zA-Z0-9_]{4,15}$");
82 }
83/**
84* 检查QQ是否合法,必须是数字,且首位不能为0,最长15位
85* @param value
86* @return
87*/
88
89public boolean checkQQ(String value){
90return value.matches("[1-9][0-9]{4,13}");
91 }
92/**
93* 检查邮编是否合法
94* @param value
95* @return
96*/
97public boolean checkPostCode(String value){
98return value.matches("[1-9]\\d{5}(?!\\d)");
99 }
100/**
101* 检查身份证是否合法,15位或18位
102* @param value
103* @return
104*/
105public boolean checkIDCard(String value){
106return value.matches("\\d{15}|\\d{18}");
107 }
108/**
109* 检查输入是否超出规定长度
110* @param length
112* @param value
113* @return
114*/
115public boolean checkLength(String value, int length) {
116return((value == null|| "".equals(value.trim())) ? 0 : value.length()) <= length;
117 }
118
119/**
120* 检查是否为空字符串,空:true,不空:false
121*
122* @param value
123* @return
124*/
125public boolean checkNull(String value){
126return value == null || "".equals(value.trim());
127 }
128
129 }
JS正则表达式大全
JS正则表达式大全 JS正则表达式大全【1】 正则表达式中的特殊字符【留着以后查用】字符含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。 ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a" $ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A" * 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa + 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa ? 匹配前面元字符0次或1次,/ba*/将匹配b,ba (x) 匹配x保存x在名为$1...$9的变量中 x|y 匹配x或y {n} 精确匹配n次 {n,} 匹配n次以上 {n,m} 匹配n-m次 [xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符) [^xyz] 不匹配这个集合中的任何一个字符 [\b] 匹配一个退格符 \b 匹配一个单词的边界 \B 匹配一个单词的非边界 \cX 这儿,X是一个控制符,/\cM/匹配Ctrl-M \d 匹配一个字数字符,/\d/ = /[0-9]/ \D 匹配一个非字数字符,/\D/ = /[^0-9]/ \n 匹配一个换行符 \r 匹配一个回车符 \s 匹配一个空白字符,包括\n,\r,\f,\t,\v等 \S 匹配一个非空白字符,等于/[^\n\f\r\t\v]/ \t 匹配一个制表符 \v 匹配一个重直制表符 \w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配
表单验证和正则表达式
正则表达式和表单验证 主要内容 ?什么是表单的验证 ?表单的操作 ?表单的验证 ?正则表达式的定义 ?正则表达式验证 (一)什么是表单的验证 表单的验证 在JavaScript之前,所有的验证都是发生在服务器上,增加了反应 时间 使用JavaScript验证,则在数据提交到服务器端之前进行一系列的 判断,比如数据不全或无效则取消提交,同时再提示重新输入. 表单的验证一般有两种形式 一个是在button按钮的onclick事件上完成,如果返回false则取消 提交 在提交按钮的onsubmit事件完成,如果返回false,表单不提交 常见的验证 文本框是否为空? 选择型的表单是否选择? 用户输入的邮件地址是否合法? 用户是否已输入合法的日期? (二)表单的操作 引用表单域 根据表单的名字获取表单的引用 var myForm = doucument.forms[“name”];
根据表单数组获取 var myForm = document.forms[0]; 表单中的属性 表单中的方法 表单中的事件 表单域中的通用属性 disabled属性 name属性:name的属性值是可以通过JavaScript改变 form属性:通过form属性可以获得一个表单域所在的表单 表单域中的通用方法 ?focus()方法 ?blur()方法
表单域中的通用事件 onfocus和onblur事件 onclick、onkeydown、onkeyup和onkeypress事件 onmouseover、onmouseout、onmousedown、和onmouseup事件 onchange事件 使用文本域 获取和设置文本域的值 使用select方法选中文本 使用按钮类表单域 简单按钮:最常用的方法捕获onclick事件,然后执行代码 复选按纽:通过checked属性获取,选中时是true,否则为false. 单选按钮:通过checked属性获取,选中时是true,否则为false. 使用下拉列表框 获取和设置下拉列表框的值 下拉列表框的值表示被选中的option标记的value属性 获取选项的个数 select对象有一个length属性,表示选项的个数 获取当前选项的索引 select对象中使用selectedIndex属性获取当前选中的option对象的索引 获取所有选项的集合 用options属性表示所有option组成的集合,option的value代表其值,text属性 代表其中间的文本,selected属性决定该option是否被选中 为select动态添加选项 在所有的option后面添加一个新的选项 Select.options[select.length] = new Option(“optiontext”,”value”); 从select中删除一个选项 ?Select.options[1] = null; 清空一个select 替换一个选项 Select.options[0] = new Option(“optiontext”,”value”);
正则表达式
本文分十四个类别对正则表达式的意义进行了解释,这十四各类别是:字符/字符类/预定义字符类/POSIX字符类/https://www.360docs.net/doc/8a11514984.html,ng.Character类/Unicode块和类别的类/边界匹配器/Greedy数量词/Reluctant数量词/Possessive数量词/Logical运算符/Back引用/引用/特殊构造。 1.1.字符 x 字符 x。例如a表示字符a \\ 反斜线字符。在书写时要写为\\\\。(注意:因为java在第一次解析时把\\\\解析成正则表达式\\,在第二次解析时再解析为\,所以凡是不是1.1列举到的转义字符,包括1.1的\\,而又带有\的都要写两次) \0n 带有八进制值 0的字符 n (0 <= n <= 7) \0nn 带有八进制值 0的字符 nn (0 <= n <= 7) \0mnn 带有八进制值 0的字符 mnn(0 <= m <= 3、0 <= n <= 7) \xhh 带有十六进制值 0x的字符 hh \uhhhh 带有十六进制值 0x的字符 hhhh \t 制表符 ('\u0009') \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D') \f 换页符 ('\u000C') \a 报警 (bell) 符 ('\u0007') \e 转义符 ('\u001B') \cx 对应于 x 的控制符 1.2.字符类 [abc] a、b或 c(简单类)。例如[egd]表示包含有字符e、g或d。 [^abc] 任何字符,除了 a、b或 c(否定)。例如[^egd]表示不包含字符e、g或d。 [a-zA-Z] a到 z或 A到 Z,两头的字母包括在内(范围) [a-d[m-p]] a到 d或 m到 p:[a-dm-p](并集) [a-z&&[def]] d、e或 f(交集) [a-z&&[^bc]] a到 z,除了 b和 c:[ad-z](减去) [a-z&&[^m-p]] a到 z,而非 m到 p:[a-lq-z](减去) 1.3.预定义字符类(注意反斜杠要写两次,例如\d写为\\d) . 任何字符(与行结束符可能匹配也可能不匹配) \d 数字:[0-9] \D 非数字: [^0-9] \s 空白字符:[ \t\n\x0B\f\r] \S 非空白字符:[^\s] \w 单词字符:[a-zA-Z_0-9] \W 非单词字符:[^\w] 1.4.POSIX 字符类(仅 US-ASCII)(注意反斜杠要写两次,例如\p{Lower}写为\\p{Lower})
正则表达式写的form表单验证
希望能帮助更多的人,可以加我qq交流504781715