目录
正则表达式
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为”元字符”)。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
作用:
1、校验字符串是否满足规则
2、在一段文本中查找满足要求的内容
字符类(只匹配一个字符):
[abc] | 只能是a, b,或c |
[^abc] | 除了a, b, c之外的任何字符 |
[a-zA-Z] | a到zA到Z,包括(范围) |
[a-d[m-p]] | a到d,或m到p |
[a-z&&[def] | a-z和def的交集。为:d, e, f |
[a-z&&[^bc]] | a-z和非bc的交集。(等同于[ad-z]) |
[a-z&&[^m-p]] | a到z和除了m到p的交集。(等同于[a-lq-z]) |
//只能是a b c (匹配一个字符)
System.out.println("a".matches("[abc]"));//ture
System.out.println("z".matches("[abc]"));//false
System.out.println("ab".matches("[abc]"));//false
System.out.println("ab".matches("[abc][abc]"));//ture
System.out.println("------------------------");
//不能是a b c (匹配一个字符)
System.out.println("a".matches("[^abc]"));//false
System.out.println("z".matches("[^abc]"));//ture
System.out.println("zz".matches("[^abc]"));//false
System.out.println("zz".matches("[^abc][^abc]"));//ture
//a-z A-Z (匹配一个字符)
System.out.println("------------------------");
System.out.println("a".matches("[a-zA-Z]"));//ture
System.out.println("z".matches("[a-zA-Z]"));//ture
System.out.println("aa".matches("[a-zA-Z]"));//false
System.out.println("zz".matches("[a-zA-Z]"));//false
System.out.println("zz".matches("[a-zA-Z][a-zA-Z]"));//ture
System.out.println("0".matches("[a-zA-Z0-9]"));//ture
System.out.println("------------------------");
//[a-d[m-p]] a到d或者m到p
System.out.println("a".matches("[a-d[m-p]]"));//ture
System.out.println("d".matches("[a-d[m-p]]"));//ture
System.out.println("m".matches("[a-d[m-p]]"));//ture
System.out.println("p".matches("[a-d[m-p]]"));//ture
System.out.println("e".matches("[a-d[m-p]]"));//false
System.out.println("0".matches("[a-d[m-p]]"));//false
System.out.println("------------------------");
//[a-z&&[def]]
//a-z和def的交集。为: d, e, f
//如果要求两个范围的交集,那么需要写符号&&
//如果写成了一个&,那么此时&表示就不是交集了,而是一个简简单单的&符号
System.out.println("a".matches("[a-z&[def]]"));//ture
System.out.println("&".matches("[a-z&[def]]"));//ture
System.out.println("&".matches("[a-z&&[def]]"));//false
System.out.println("a".matches("[a-z&&[def]]"));//false
System.out.println("0".matches("[a-z&&[def]]"));//false
System.out.println("d".matches("[a-z&&[def]]"));//ture
System.out.println("------------------------");
//[a-z&&[^bcd]] a-z和bc的交集(等于[ae-z])
System.out.println("a".matches("[a-z&&[^bcd]]"));//ture
System.out.println("f".matches("[a-z&&[^bcd]]"));//ture
System.out.println("b".matches("[a-z&&[^bcd]]"));//false
System.out.println("0".matches("[a-z&&[^bcd]]"));//false
System.out.println("------------------------");
//[a-z&&[^m-p]] a-z和除了m到p的交集(等于[a-lq-z])
System.out.println("a".matches("[a-z&&[^m-p]]"));//ture
System.out.println("m".matches("[a-z&&[^m-p]]"));//false
System.out.println("0".matches("[a-z&&[^m-p]]"));//false
预定义字符(只匹配一个字符)
. | 任何字符 |
\d | 一个数字:[0-9] |
\D | 非数字:[^0-9] |
\s | 一个空白字符:[\t\n\xOB\f\r ] |
\S | 非空白字符:[^\s] |
\w | [a-zA-Z_0-9]英文、数字、下划线 |
\w | [^\w]一个非单词字符 |
// .表示任意一个字符
System.out.println("你".matches("."));//ture
System.out.println("你".matches(".."));//false
System.out.println("你a".matches(".."));//ture
System.out.println("--------------------");
// \\d 表示任意的一个数字
// \\d 只能是任意的以为数字
// 两个\表示一个\
System.out.println("a".matches("\\d"));//false
System.out.println("3".matches("\\d"));//ture
System.out.println("1".matches("\\d"));//ture
System.out.println("11".matches("\\d"));//false
System.out.println("--------------------");
// \\w只能是一位单词字符[a-zA-Z_0-9]
System.out.println("a".matches("\\w"));//ture
System.out.println("1".matches("\\w"));//ture
System.out.println("aa".matches("\\w"));//false
System.out.println("你".matches("\\w"));//false
System.out.println("_".matches("\\w"));//ture
System.out.println("--------------------");
//非单词字符
System.out.println("你".matches("\\W"));//ture
数量词
X? | X,一次或0次 |
X* | X,零次或多次 |
X+ | X,一次或多次 |
X{n} | X,正好n次 |
X{n, } | X,至少n次 |
X{n,m} | X,至少n但不超过m次 |
//必须是数字字母下划线至少6位
System.out.println("qwe1111".matches("\\w{6,}"));//ture
System.out.println("qwe".matches("\\w{6,}"));//false
System.out.println("------------------");
//必须是数字和字符 4位
System.out.println("1234".matches("[a-zA-Z0-9]{4}"));//ture
System.out.println("12a_".matches("[a-zA-Z0-9]{4}"));//false
System.out.println("1234".matches("[\\w&&[^_]]{4}"));//ture
System.out.println("123_".matches("[\\w&&[^_]]{4}"));//false
手机号正则
//拿着一个正确的数据,从左到右依次去写。
//分成三部分:
//第一部分:1表示手机号码只能以1开头
//第二部分:[3-9]表示手机号码第二位只能是3-9之间的
//第三部分: \\d{9}表示任意数字可以出现9次,也只能出现9次
String str = "1[3-9]\\d{9}";
System.out.println("13578763675".matches(str));//ture
System.out.println("135787636".matches(str));//false
座机号正则
//座机电话号
//020-2324242 02122442 027-42424 0712-3242434
// 思路:
//在书写座机号正则的时候需要把正确的数据分为三部分
// 一: 区号0\\d{2,3}
// 0:表示区号一定是以0开头的
// \\d{2,3}:表示区号从第二位开始可以是任意的数字,可以出现2到3次。
//二: - ?表示次数,0次或一次
//三: 号码的第一位也不能以0开头,从第二位开始可以是任意的数字,号码的总长度:5-10位
String str1 = "0\\d{2,3}-?[1-9]\\d{4,9}";
System.out.println("020-2324242".matches(str1));
System.out.println("02122442".matches(str1));
System.out.println("027-42424".matches(str1));
System.out.println("0712-3242434".matches(str1));
邮箱号正则
// 邮箱号码
// 3232323@qq.com zhangsan@itcast.cnn dleie0009@163.com dlei0000@pci.com.cn
// 思路:
//在书写邮箱号码正则的时候需要把正确的数据分为三部分
// 第一部分:@的左边 \\w+
// 任意的字母数字下划线,至少出现一次就可以了
//第二部分:@只能出现一次
//第三部分:
//3.1.的左边[\\w&&[^_]]{2,6}
// 任意的字母加数字,总共出现2-6次(此时不能出现下划线)
//3.2 . \\.
//3.3 大写字母,小写字母都可以,只能出现2-3次[a-zA-Z]{2,3}
// 我们可以把3.2和3.3看成一组,这一组可以出现1次或者两次
String str2 = "\\w+@[\\w&&[^_]]{2,6}(\\.[a-zA-Z]{2,3}){1,2}";
System.out.println("3232323@qq.com".matches(str2));//ture
System.out.println("zhangsan@itcast.cnn".matches(str2));//ture
System.out.println("dleie0009@163.com".matches(str2));//ture
System.out.println("dlei0000@pci.com.cn".matches(str2));//ture
24小时正则
//24小时的正则表达式
String str3 = "([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";
System.out.println("14:25:22".matches(str3));
String str4 = "([01]\\d|2[0-3])(:[0-5]\\d){2}";
System.out.println("14:25:22".matches(str4));
身份证正则
//4108011993 02 28 457x
//前面6位:省份,市区,派出所等信息瞭第一位不能是0,后面5位是任意数 [1-9]\\d{5}
//年的前半段: 18 19 20 (18|19|20)
//年的后半段: 任意数字出现两次 \\d{2}
//月份:01 ~ 09 10 11 12 (0[1-9]|1[0-2])
//日期:01 ~ 09 10~19 20~29 30 31 (0[1-9]|[12]\\d|3[01])
//后面四位: 任意数字出现3次 最后一位可以是数字也可以是大写X或者小写x \\d{3}[\\dXx]
String str5 = "[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dXx]";
System.out.println("412721200505123418".matches(str5));
密码验证
//要求一、
//1.密码必须由字母、数字、特殊符号组成,区分大小写
//2.特殊符号包含(. _ ~ ! @ # $ ^ & *)
//3.密码长度为8-20位
//实现:
//(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[._~!@#$^&*])[A-Za-z0-9._~!@#$^&*]{8,20}
String str6 = "(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[._~!@#$^&*])[A-Za-z0-9._~!@#$^&*]{8,20}";
System.out.println("q125611@".matches(str6));//ture
jQuery时间转换
//时间转换
function getLocalTime(time) {
var date = new Date(time);
Y = date.getFullYear() + '-';
M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
D = date.getDate() + ' ';
h = date.getHours() + ':';
m = date.getMinutes() + ':';
s = date.getSeconds();
return Y + M + D + h + m + s;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97166.html