java域名校验_域名规则校验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
String temp = str.substring(i,i+1);
if(temp.matches(chinese)){
valueLength += 2;
}else{
valueLength++;
}
}
if(valueLength>63){
return "您输入的域名长度大于63位";
}
}
return "LEGAL";
}
分享到:
2013-06-18 17:56
浏览 1920
评论
java域名校验_域名规则校验Java版本相关推荐
- java 判断类型_如何快速入门Java编程学习(干货)
一.初识Java 1.生活中的程序: 从起床到教室上课的过程 穿衣打扮>起床>洗漱>出宿舍>>吃早餐>到教室 按照特定的顺序去完成某一件事的过程我们叫做生活中的程序 ...
- java类加载过程_面试官:java类的加载过程
Java 类加载机制 类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段. 其中类加载过程包括加载.验证.准备.解析和初始化五个阶段. 类的加载 ...
- java 序列化 文件_一种恢复Java序列化文件数据的方法与流程
本发明涉及信息安全技术领域,特别涉及一种恢复Java序列化文件数据的方法. 背景技术: 在数据解析恢复领域经常会遇到序列化文件的解析.Java序列化是Java 自身提供的一种数据序列化方式,它允许开发 ...
- vue3+ts+element-plus密码强弱校验+密码自定义规则校验
一.效果描述和结果展示: 密码强弱 校验是根据以下四种规则来判断划分的5个等级. 长度 字母 数字 符号 密码规则 校验是根据以下四种规则来进行校验. 是否包含用户名: 是否包含3个及以上相同或连续的 ...
- java python算法_用Python,Java和C ++示例解释的排序算法
java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...
- 支持java虚拟主机_为何缺乏支持Java的虚拟主机
现在很多站长们,都青睐于香港虚拟主机建站.现在常见的是asp和PHP的程序空间很多,但是Java的少之又少,下面小编我给大家聊一聊! 一.香港Java虚拟主机成本高 使用Java程序建站,就必须要用支 ...
- 有python基础学习java简单吗_【Python】Java程序员学习Python(三)— 基础入门
一闪一闪亮晶晶,满天都是小星星,挂在天上放光明,好像许多小眼睛.不要问我为什么喜欢这首歌,我不会告诉你是因为有人用口琴吹给我听. 一.Python学习文档与资料 一般来说文档的资料总是最权威,最全面的 ...
- 做Java头发少_这35个Java代码优化细节,你用了吗
链接:https://www.jianshu.com/p/6e472304b5ac 前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有 ...
- 我的世java途径错误_我的世界JAVA路径错误的解决方法分享
我的世界JAVA路径错误该怎么解决呢?JAVA是Minecraft运行的虚拟环境必要条件,需要您安装后才开始游戏.很多童鞋在安装过程中都遇到了JAVA路径错误的提示,这是什么原因导致的?第一手游网必须 ...
- java编程赋值运算符_跟我学java编程—简单赋值运算符“=”
赋值运算符是双目运算符,用在赋值表达式中.赋值运算符将值存储在运算符左边操作数指定的变量中.有两种赋值操作,简单赋值和复合赋值,简单赋值把运算符右边的操作数的值存储在运算符左边操作数指定的变量中:复合 ...
最新文章
- 全球最大智能模型“悟道”首次落地:数字人+终端AI助手,支持NVIDIA GTX单卡机运行百亿大模型
- 机器学习漫谈:还有很长的路要走
- MCU助推居家移动医疗微型化
- idea.config.path is invalid 问题
- OpenCV Sobel Derivatives衍生物
- JAVA系统和DOMINO通过LDAP集成方
- [react] Mern和Yeoman脚手架有什么区别?
- QT每日一练day5:QLabel和按钮窗口打印功能
- linux下的tuxedo开发实例
- Android 使用VideoView播放本地视频详解
- 制作唐诗网页代码_有关于诗词的网页代码
- 颜值测试API,微软小冰颜值,颜值API
- 20155314 2016-2017-2 《Java程序设计》第2周学习总结
- 解决windows7“您可能没有权限使用网络资源”的方法
- python动力学建模与仿真_发动机悬置python仿真计算
- Nexus简介及小白使用IDEA打包上传到Nexus3私服详细教程
- 如何训练出专属的 OpenAI Five ?
- 读书有益——》小朋友的诗(六)
- [开发工具]记录MPLAB新老双IDE与C18编译器配置
- 五姐妹因没嫁妆集体自杀 绝望跳河