/**
* 检查域名是否合法
* @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";
}
分享到:
相关推荐
Java居民身份证号校验规则!Java居民身份证号校验规则!Java居民身份证号校验规则!Java居民身份证号校验规则!Java居民身份证号校验规则!
针对身份证号码的校验,以及能自动将身份证从15位升级为18位
车架号校验工具类,Java实现代码。通过目前主流的车架号校验规则进行校验。提供车架号校验,以及虚拟车架号生成。车架号生成仅供测试,请勿做他用
CRC 12校验JAVA版 public class CRCtext { public static void main String[] args { CRC } }
在网上找了很久CRC16的校验,发现有的不对,有的无法运行,有的就是骗人的广告和木马,有的还要...然后又转成了C#版本,然后又转成了JAVA版本。希望大家喜欢。 校验多项式是A001,具体不懂。JAVA不是很熟悉,但是能用。
由于需要和蓝牙通讯,协议需要用到校验和,找了很久才找到,给大家共享。java校验和算法绝对可以用。
Schema校验java相关实现
Java校验身份证号码工具类 ---运行几年了,很靠谱。包含15位身份证校验Java校验身份证号码工具类 ---运行几年了,很靠谱。包含15位身份证校验
Java下的CRC校验,在Android系统Eclipse平台下编译通过,可以直接copy使用
这是自己开发的一个参数校验的工具类,可用于对实例的属性进行非空校验。包括全部校验和任一校验两种校验方式。 举例:CheckParamsUtils.checkParamsAll(requestBean, "name", "age","gender");
从数据头到校验码前的CRC16-CCITT的校验值,遵循大端排序方式的规定。CRC16-CCITT码生成多项式为x16+x12+x5+1,简记式1021。
Sonarqube java校验规则
java ModBus CRC 16 校验_(亲测成功) 还有一个在线版本的 https://www.lammertbies.nl/comm/info/crc-calculation.html
java实现CRC16校验功能~ 测试下载,直接运行即可!用的好的给个好评~
JSON Schema 校验库——json-schema-validator(java版本).rar
JavaCRC校验
Java计算校验和源码,已测试通过
IpRangeUtil;java 校验Ip段(子网掩码); 支持 iptables.patterns=10.0.0.0/8,192.168.0.0/16,172.16.0.0/12,202.195.129.240/28,202.195.128.0/20
CRC冗余校验,使用java实现,共同学习!!
之前传过一个,数据长了就不好用。这个好用。