java 正则表达式完美验证网址url带参数

public static void main(String[] args) {
String url = "http:/klsfnklnklwnl.csfwfwn.cn?1231=sjkfjkf&sfwfw=";
String regex = "^([hH][tT]{2}[pP]:/*|[hH][tT]{2}[pP][sS]:/*|[fF][tT][pP]:/*)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\\/])+(\\?{0,1}(([A-Za-z0-9-~]+\\={0,1})([A-Za-z0-9-~]*)\\&{0,1})*)$";
Pattern pattern = Pattern.compile(regex);
if (pattern.matcher(url).matches()) {
System.out.println("是正确的网址");
} else {
System.out.println("非法网址");
}

}

验证规则说明:

(1)验证http,https,ftp开头

(2)验证一个":",验证多个"/"

(3)验证网址为 xxx.xxx

(4)验证有0个或1个问号

(5)验证参数必须为xxx=xxx格式,且xxx=空    格式通过

(6)验证参数与符号&连续个数为0个或1个

posted @ 2017-06-27 11:29  坏笑的眼镜男  阅读(32528)  评论(0)    收藏  举报