view plaincopy to clipboardprint?
import java.util.regex.*;
public class regX
{
public static void main(String[] args){
String regex =
"(?=.*?//p{Upper})" + // 至少有一个大写字母
"(?=.*?//d)" + // 至少有一个数字
"(?=.*?[-:;!/"£$%^&*()_+=|?,./{}//[//]~'<>¬`@])" + // 至少有一个特殊字符
".{1,10}"; // 长度范围是1到10
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher("3333a33//@33@33A3");// 测试字符串
System.out.println(m.matches());
}
}
import java.util.regex.*;
public class regX
{
public static void main(String[] args){
String regex =
"(?=.*?//p{Upper})" + // 至少有一个大写字母
"(?=.*?//d)" + // 至少有一个数字
"(?=.*?[-:;!/"£$%^&*()_+=|?,./{}//[//]~'<>¬`@])" + // 至少有一个特殊字符
".{1,10}"; // 长度范围是1到10
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher("3333a33//@33@33A3");// 测试字符串
System.out.println(m.matches());
}
}
regex可以精简成一句,实现 符合 4个条件种任一条件的字符串都可以做密码。
String regex =
"(?=.*?//p{Upper})|(?=.*?//d)|(?=.*?[-:;!/"£$%^&*()_+=|?,./{}//[//]~'<>¬`@])|.{3,25}";
最后,推荐一个介绍正则表达式的网站 http://www.regexlab.com/zh/
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/psyl/archive/2009/10/22/4714096.aspx