网上看到的一段代码:
001
/**
002
* Copyright (C) 2009-2010 Yichuan, Fuchun All rights reserved.
003
* Licensed to the Apache Software Foundation (ASF) under one or more
004
* contributor license agreements. See the NOTICE file distributed with
005
* this work for additional information regarding copyright ownership.
006
* The ASF licenses this file to You under the Apache License, Version 2.0
007
* (the "License"); you may not use this file except in compliance with
008
* the License. You may obtain a copy of the License at
009
* http://www.apache.org/licenses/LICENSE-2.0
010
* Unless required by applicable law or agreed to in writing, software
011
* distributed under the License is distributed on an "AS IS" BASIS,
012
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013
* See the License for the specific language governing permissions and
014
* limitations under the License.
015
* @(#) IdcardUtils.java Date: 2010-06-17
016
*/
017
package
my.tools;
018
019
import
java.text.ParseException;
020
java.text.SimpleDateFormat;
021
java.util.Calendar;
022
java.util.Date;
023
java.util.HashMap;
024
java.util.Map;
025
026
027
* 身份证工具类
028
*
029
* @author June
030
* @version 1.0, 2010-06-17
031
032
public
class
IdcardUtils
extends
StringUtils {
033
034
/** 中国公民身份证号码最小长度。 */
035
static
final
int
CHINA_ID_MIN_LENGTH =
15
;
036
037
/** 中国公民身份证号码最大长度。 */
038
CHINA_ID_MAX_LENGTH =
18
039
040
/** 省、直辖市代码表 */
041
String cityCode[] = {
042
"11"
,
"12"
"13"
"14"
"15"
"21"
"22"
"23"
"31"
"32"
"33"
"34"
"35"
"36"
"37"
"41"
043
"42"
"43"
"44"
"45"
"46"
"50"
"51"
"52"
"53"
"54"
"61"
"62"
"63"
"64"
"65"
"71"
044
"81"
"82"
"91"
045
};
046
047
/** 每位加权因子 */
048
power[] = {
049
7
9
10
5
8
4
2
1
6
3
050
051
052
/** 第18位校检码 */
053
String verifyCode[] = {
054
"1"
"0"
"X"
"9"
"8"
"7"
"6"
"5"
"4"
"3"
"2"
055
056
/** 最低年限 */
057
MIN =
1930
058
Map<String, String> cityCodes =
new
HashMap<String, String>();
059
/** 台湾身份首字母对应数字 */
060
Map<String, Integer> twFirstCode =
HashMap<String, Integer>();
061
/** 香港身份首字母对应数字 */
062
Map<String, Integer> hkFirstCode =
063
{
064
cityCodes.put(
"北京"
);
065
"天津"
066
"河北"
067
"山西"
068
"内蒙古"
069
"辽宁"
070
"吉林"
071
"黑龙江"
072
"上海"
073
"江苏"
074
"浙江"
075
"安徽"
076
"福建"
077
"江西"
078
"山东"
079
"河南"
080
"湖北"
081
"湖南"
082
"广东"
083
"广西"
084
"海南"
085
"重庆"
086
"四川"
087
"贵州"
088
"云南"
089
"西藏"
090
"陕西"
091
"甘肃"
092
"青海"
093
"宁夏"
094
"新疆"
095
"台湾"
096
"香港"
097
"澳门"
098
"国外"
099
twFirstCode.put(
"A"
100
"B"
11
101
"C"
12
102
"D"
13
103
"E"
14
104
"F"
105
"G"
16
106
"H"
17
107
"J"
108
"K"
19
109
"L"
20
110
"M"
21
111
"N"
22
112
"P"
23
113
"Q"
24
114
"R"
25
115
"S"
26
116
"T"
27
117
"U"
28
118
"V"
29
119
30
120
"Y"
31
121
"W"
32
122
"Z"
33
123
"I"
34
124
"O"
35
125
hkFirstCode.put(
126
127
128
129
130
131
132
133
134
135
}
136
137
138
* 将15位身份证号码转换为18位
139
140
* @param idCard
141
* 15位身份编码
142
* @return 18位身份编码
143
144
String conver15CardTo18(String idCard) {
145
String idCard18 =
""
146
if
(idCard.length() != CHINA_ID_MIN_LENGTH) {
147
return
null
148
149
(isNum(idCard)) {
150
// 获取出生年月日
151
String birthday = idCard.substring(
152
Date birthDate =
153
try
154
birthDate =
SimpleDateFormat(
"yyMMdd"
).parse(birthday);
155
catch
(ParseException e) {
156
e.printStackTrace();
157
158
Calendar cal = Calendar.getInstance();
159
(birthDate !=
)
160
cal.setTime(birthDate);
161
// 获取出生年(完全表现形式,如:2010)
162
String sYear = String.valueOf(cal.get(Calendar.YEAR));
163
idCard18 = idCard.substring(
0
) + sYear + idCard.substring(
164
// 转换字符数组
165
char
[] cArr = idCard18.toCharArray();
166
(cArr !=
) {
167
[] iCard = converCharToInt(cArr);
168
iSum17 = getPowerSum(iCard);
169
// 获取校验位
170
String sVal = getCheckCode18(iSum17);
171
(sVal.length() >
172
idCard18 += sVal;
173
else
174
175
176
177
178
179
180
idCard18;
181
182
您还没有登录,请您登录后再发表评论
[工具类] 获得汉字拼音首字母的java工具类.java.txt [工具类] 获取绝对路径 .java.txt [工具类] 记录log日志文件的工具类 .java.txt [工具类] 连接数据库的工具类 .java.txt [工具类] 使用Java程序来实现HTTP文件的...
总的来说,`RabbitmqUtil`是一个强大的Java工具类,它简化了RabbitMQ的使用,使得开发者能更专注于业务逻辑,而不是底层的消息传递细节。只需根据自己的RabbitMQ服务器配置调整初始化参数,就可以轻松地在项目中集成...
本资源名为“Java工具类合集”,显然是一份集合了多种功能的Java工具类库,可能包含了一系列开源框架中的实用工具类。 首先,我们可以从“mysql版本”这个标签推测,这个合集中可能包含了与MySQL数据库交互相关的...
以下是对标题和描述中提到的一些常用Java工具类的详细解释: 1. **数据库池工具类**:数据库连接池是管理数据库连接的一种机制,它能有效地复用已存在的数据库连接,避免频繁创建和关闭连接导致的性能开销。常见的...
使用java工具类可有效的提高开发效率! 没有CSDN积分的朋友到这里源头下载:http://www.javacs.cn/bbs/thread-382-1-1.html 感谢支持 [工具类] CookieCounter .java.txt [工具类] 验证码img .jsp.txt [工具类] Java中...
Java工具类集合是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍...
Java工具类是编程中不可或缺的一部分,它们提供了许多实用的功能,帮助开发者提高代码的效率和可维护性。在Java中,工具类通常包含了各种通用的方法,适用于多种场景,减少了重复编码的工作。以下是一些主要的Java...
Java工具类是Java编程语言中一个非常重要的组成部分,它们提供了许多实用的方法,帮助开发者更高效地处理各种编程任务。在Java中,工具类通常被设计为静态方法集合,不依赖于实例化对象,可以直接调用类中的方法进行...
Base64Utils java工具类
本资源提供的"JAVA工具类"整合了XML处理、JSON操作、MD5加密以及加解密功能,对提高开发效率大有裨益。 1. **XML处理**: - DOM解析:DOM(Document Object Model)是一种将XML文档映射为树形结构的方法,通过它...
1.[工具类] 读取、打印输出、保存xml .java 2.[工具类] Java中计算任意两个日期之间的工作天数 .java 3.[工具类] MD5 .java 4.[工具类] 时间工具TimeUtil.java 5.[工具类] 通信服务端simpleServer 6.[工具类] 使用...
标题提到的"50个左右的JAVA工具类,相对比较全"表明这是一个集合了大量常用工具方法的资源包。描述中指出,这些工具类是开发者多年工作经验的结晶,涵盖了一些常见的需求,但可能并不完美,可能存在一些遗漏,欢迎...
JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与...
本压缩包提供了27个常用的Java工具类,涵盖了编码解码、安全加密、日期时间处理、文件操作等多个领域。以下是这些工具类的详细介绍: 1. **Base64Util**:这是一个用于Base64编码和解码的工具类。Base64是一种广泛...
这是本人在公司培训时做的一个PPT文档,介绍了Java常用的工具类
4. **Java工具类**:在Java开发中,工具类通常是一些静态方法集合,这些方法解决特定的问题或提供通用功能。Ut类可能是这样一个工具类,它可能包含了如日期时间处理、集合操作、IO流操作等多种实用方法。 5. **基础...
java抓取网页java工具类java抓取网页java工具类
相关推荐
[工具类] 获得汉字拼音首字母的java工具类.java.txt [工具类] 获取绝对路径 .java.txt [工具类] 记录log日志文件的工具类 .java.txt [工具类] 连接数据库的工具类 .java.txt [工具类] 使用Java程序来实现HTTP文件的...
总的来说,`RabbitmqUtil`是一个强大的Java工具类,它简化了RabbitMQ的使用,使得开发者能更专注于业务逻辑,而不是底层的消息传递细节。只需根据自己的RabbitMQ服务器配置调整初始化参数,就可以轻松地在项目中集成...
本资源名为“Java工具类合集”,显然是一份集合了多种功能的Java工具类库,可能包含了一系列开源框架中的实用工具类。 首先,我们可以从“mysql版本”这个标签推测,这个合集中可能包含了与MySQL数据库交互相关的...
以下是对标题和描述中提到的一些常用Java工具类的详细解释: 1. **数据库池工具类**:数据库连接池是管理数据库连接的一种机制,它能有效地复用已存在的数据库连接,避免频繁创建和关闭连接导致的性能开销。常见的...
使用java工具类可有效的提高开发效率! 没有CSDN积分的朋友到这里源头下载:http://www.javacs.cn/bbs/thread-382-1-1.html 感谢支持 [工具类] CookieCounter .java.txt [工具类] 验证码img .jsp.txt [工具类] Java中...
Java工具类集合是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍...
Java工具类是编程中不可或缺的一部分,它们提供了许多实用的功能,帮助开发者提高代码的效率和可维护性。在Java中,工具类通常包含了各种通用的方法,适用于多种场景,减少了重复编码的工作。以下是一些主要的Java...
Java工具类是Java编程语言中一个非常重要的组成部分,它们提供了许多实用的方法,帮助开发者更高效地处理各种编程任务。在Java中,工具类通常被设计为静态方法集合,不依赖于实例化对象,可以直接调用类中的方法进行...
Base64Utils java工具类
本资源提供的"JAVA工具类"整合了XML处理、JSON操作、MD5加密以及加解密功能,对提高开发效率大有裨益。 1. **XML处理**: - DOM解析:DOM(Document Object Model)是一种将XML文档映射为树形结构的方法,通过它...
1.[工具类] 读取、打印输出、保存xml .java 2.[工具类] Java中计算任意两个日期之间的工作天数 .java 3.[工具类] MD5 .java 4.[工具类] 时间工具TimeUtil.java 5.[工具类] 通信服务端simpleServer 6.[工具类] 使用...
标题提到的"50个左右的JAVA工具类,相对比较全"表明这是一个集合了大量常用工具方法的资源包。描述中指出,这些工具类是开发者多年工作经验的结晶,涵盖了一些常见的需求,但可能并不完美,可能存在一些遗漏,欢迎...
JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与...
本压缩包提供了27个常用的Java工具类,涵盖了编码解码、安全加密、日期时间处理、文件操作等多个领域。以下是这些工具类的详细介绍: 1. **Base64Util**:这是一个用于Base64编码和解码的工具类。Base64是一种广泛...
这是本人在公司培训时做的一个PPT文档,介绍了Java常用的工具类
4. **Java工具类**:在Java开发中,工具类通常是一些静态方法集合,这些方法解决特定的问题或提供通用功能。Ut类可能是这样一个工具类,它可能包含了如日期时间处理、集合操作、IO流操作等多种实用方法。 5. **基础...
java抓取网页java工具类java抓取网页java工具类