JAVA 正則表達式 根據錯誤給予用戶提示 -开发者知识库

JAVA 正則表達式 根據錯誤給予用戶提示 -开发者知识库,第1张

今天偶然需要用到正則,對規則有點不熟悉重溫了一下。發現網絡上大多數都是對正則的正確性判斷,但是都沒有提到錯誤地方如何反饋信息。

舉個例子說明我的目的:

       都知道郵箱的正確格式是XXXXXX@XXX.XXX (比如這樣X......X@qq.com),判斷格式正確性的正則表達式網上很多。但是我現在想做的是用戶輸入錯誤的信息時候及時給用戶提供錯誤的地方。例如

1.首字母不能為數字和英文字母以外的。

2.賬號中只能擁有數字、英文、下划線_、 點.

	public static void main(String[] args) throws Exception {

		String regex="2!d56@qq.com";//待驗證
		Pattern p=Pattern.compile("^(\w[\w_\.]{7,19})@([\w_\.] )\.\w ");
		Matcher m=p.matcher(regex);
		if(m.matches()){
			System.out.println("驗證成功");//格式正確
			System.out.println(m.group(1));//@之前的賬號
		}else{
			//不正確的話尋找錯誤
			//1.首字符是w以外的錯誤
			boolean flag=Pattern.compile("^\w").matcher(regex).find();
			if(!flag){
				System.out.println("首字母只能是英文字母和數字!");
			}
			//2.賬號中包含非法字符
			boolean flag1=Pattern.compile("^\w[\w_\.] @").matcher(regex).find();
			if(!flag1){
				System.out.println("賬號中含有非法字符");
			}
			//同理一步步排查賬號長度 等等
		}
		
我目前能想到的方法就是逐個判斷。如果有更好的方法請務必留言告訴我,謝謝!

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复