`
xs.cctv
  • 浏览: 21990 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

域名规则校验Java版本

阅读更多
	/**
	 * 检查域名是否合法
	 * @param domain
	 * @return 返回"LEGAL"成功
	 * 其余就返回不合法消息
	 */
	public static String domainCheckLegal(String domain){
		Pattern p = null;
		Matcher m = null;
		boolean b = false;
		String str = null;
		
		//可以包含中文、字母a-z(大小写等价)、数字0-9或者半角的连接符"-","-"不能放在开头或结尾
		String reg ="^(?!-)(?!.*?-$)[-a-zA-Z0-9\\u4e00-\\u9fa5]*$";

		p = Pattern.compile(reg);
		m = p.matcher(domain);
		b = m.matches();
		
		if(!b){
			return "不符合域名注册规定";
		}
		
		str = m.group();	

		
//		if(str.length()>=3){
//			if(str.substring(2,3).equals("-")){
//				return " “-”符号不能出现在第三和第四位 ";
//			}
//		}
//		if(str.indexOf("-")==2||str.indexOf("-")==3){			
//			return " “-”符号不能出现在第三和第四位 ";
//		}
		
		/*
		reg = "[\\u4e00-\\u9fa5]";//中文必须有1个
		p = Pattern.compile(reg);
		m = p.matcher(str);
		if(!m.find()){
			return "必须有一个中文";
		}
		*/
		
		
		reg = "^[\\u4e00-\\u9fa5]+$";//纯汉字必须大于1位
		p = Pattern.compile(reg);
		m = p.matcher(domain);
		b = m.matches();
		if(b){
			String chinese = m.group();	
			if(chinese.length()<2||chinese.length()>20){
				return "纯中文必须大于1个小于21个";
			}
		}else{
			//判断punycode长度
			if(str.length()<3){
				return "长度必须大于2!";
			}
			
			//如果第一位、二位不是中文,就判断第三、四位是否是“-”
			String str1 = str.substring(0,3);;
			String reg1  ="^[-a-zA-Z0-9]*$";
			p = Pattern.compile(reg1);
			m = p.matcher(str1);
			b = m.matches();

			if(b){
				if(str.indexOf("-")==2||str.indexOf("-")==3){			
					return " “-”符号不能出现在第三和第四位 ";
				}
			}
			//长度为63位
//			str = Punycode.encode(str);//转换成punycode 不用转化
//			if(str.length()>59){
//				return "您输入的域名过长!";
//			}
			
			//判断输入的域名是否超长
			int valueLength = 0;
			String chinese = "[\u4e00-\u9fa5]";  
			for(int i=0;i<str.length();i++){
				String temp = str.substring(i,i+1);
				if(temp.matches(chinese)){
					valueLength += 2;
				}else{
					valueLength++;
				}
			}
			if(valueLength>63){
				return "您输入的域名长度大于63位";
			}
		}
		return "LEGAL";
	}
分享到:
评论

相关推荐

    email 规则校验

    本文将详细探讨如何使用正则表达式来验证电子邮件地址的正确性,并通过JavaScript与Java两种语言的实际代码示例进行说明。 ### 一、电子邮件地址的格式规范 根据RFC 5322标准,电子邮件地址由本地部分和域名部分...

    java 银行卡 验证 正则表达式使用

    银行卡号通常由一系列数字组成,不同的银行可能有不同的格式,但大多数都遵循一定的规则,如长度限制和前缀。例如,中国银联的银行卡号一般16位或19位,且可能有特定的前几位数字作为银行识别代码。一个简单的正则...

    Java一些常用验证整理

    正则表达式包含了邮箱地址的基本结构,包括用户名、@符号、域名和顶级域名部分,并考虑了大小写不敏感的情况。 2. **数字验证**: ```java public static boolean isNumber(String validateStr) { String regex ...

    详细步骤截图。微信,淘宝客api域名检验,centos nginx springboot jar下的验证文件xxx.txt放置于您所配置域名

    如果你使用了Shiro进行权限管理,可以在配置中添加一条规则,允许所有人匿名访问`root.txt`。例如: ```java filterChainDefinitionMap.put("/root.txt", "anon"); ``` - 将`root.txt`文件放入Springboot的`...

    正则表达式 Java 判断字串是否合理

    `@`后跟域名部分,其中`([-.]\\w+)*`允许域名中出现连字符或句点。 ### 3. 电话号码验证 电话号码格式各异,文件中的`checkTel`方法提供了一种简单的验证方式,其正则表达式为: ```java "\\d{4}-\\d{8}|\\d{4}-\\...

    邮箱校验jar包

    首先,`dnsjava-2.1.1.jar`是一个专门用于DNS(域名系统)操作的Java库。在邮箱验证过程中,DNS查询是关键步骤,因为我们需要通过DNS查找MX记录(邮件交换记录)来确定负责接收特定邮箱域的邮件服务器。DNSJava提供...

    《Java 语言程序设计》

    《Java语言程序设计》这本书主要介绍了Java编程的基础知识和面向对象编程的概念,...通过以上步骤和规则,我们可以理解和创建有效的Java程序,从而深入学习Java语言的其他高级概念,如类、对象、接口、继承、多态等。

    Java正则表达式验证web端输入[身份证,邮箱,手机,中文字符]

    通过`matches()`方法,我们可以判断输入的字符串是否符合指定的正则表达式规则。 总结,Java正则表达式是进行数据验证的强大工具,通过对身份证、邮箱、手机号码和中文字符的验证,可以有效地防止无效数据的输入,...

    史上最详细最全的正则参数校验 - 21.01.28.md

    文章主要涉及了Java中的正则表达式的应用,用于验证不同类型的输入数据的有效性。接下来,我们将根据文档中的具体示例来深入探讨这些正则表达式的细节与应用场景。 ### 1. 注册账号:username #### 正则表达式: `...

    javascript校验大全

    3. **邮箱验证**:电子邮件地址的格式有特定的规则,例如必须包含`@`符号和域名部分。JavaScript中可以使用正则表达式进行匹配,如下所示: ```javascript function isValidEmail(email) { const regex = /^[a-zA...

    一些常用的string的校验和测试类

    5. 身份证号验证:对于中国,需要根据18位身份证号的校验规则进行校验,包括地区码、出生日期码、顺序码和校验码。 6. IP地址验证:检查字符串是否符合IPv4或IPv6的格式。 除了上述的验证功能,`StringUtilities`...

    邮箱验证(javascript中的正则表达式)

    - `(\w)+`:匹配一个或多个字母、数字或下划线字符(即顶级域名部分),`\w`表示字母、数字或下划线。 4. **条件判断与错误处理**: - `if (temp.value != "")`:检查输入框是否有内容。 - `if (!myreg.test...

    Java常用正则表达式验证类完整实例【邮箱、URL、IP、电话、身份证等】

    Java中的正则表达式使用特定的字符来定义这些规则,如^表示字符串的开始,$表示字符串的结束,[\\w-\\.]+表示匹配字母、数字、下划线或点,@用来分隔用户名和域名部分等。 IP地址验证是通过isIP方法来实现的,它...

    java学习网站

    - **变量命名规范**:遵循有意义的命名规则,例如`userName`。 - **注释规范**:确保代码的可读性,每个类、方法和重要的变量都需要有相应的注释说明。 #### JavaWeb开发基础回顾 - **Jsp回顾**: - **基础原理**...

    Js检测判断URL网址输入是否正确

    一个标准的URL通常包括以下部分:协议(scheme)、子域名(subdomain)、主域名(domain name)、顶级域名(top-level domain, TLD)、端口号(port)、路径(path)、查询字符串(query string)和锚点(fragment)...

    Java_TCPIP_Socket编程

    - **分组报文**:在数据传输过程中,数据被分割成一系列的小块,每个小块都包含了一些额外的信息,如源地址、目的地址和校验信息等。 - **协议**:网络协议定义了如何在不同设备之间发送和接收数据的标准。协议确保...

Global site tag (gtag.js) - Google Analytics