import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Calendar;
/**IdCard.java
@src http://eric-619.iteye.com/blog/694014
*@author eric
*@time 6/3/2010*/
public class IdCard extends JFrame{
TextField tf1 = new TextField();
TextField tf2 = new TextField();
TextField tf3 = new TextField();
TextField tf4 = new TextField();
TextField tf5 = new TextField();
TextField tf6 = new TextField();
JLabel jl1 = new JLabel();
JLabel jl2 = new JLabel();
JLabel jl3 = new JLabel();
JLabel jl4 = new JLabel();
JLabel jl5 = new JLabel();
JButton jb1 = new JButton("查询");
JButton jb2 = new JButton("重写");
JPanel jp1 = new JPanel();
JPanel jp2 = new JPanel();
public static void main(String[] args) throws IOException{
new IdCard().frameLaunch();
}
public void frameLaunch(){
setBounds(250,250,400,200);
setTitle("eric---java身份验证程序");
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
jb1.addActionListener(new Tjbutton());
jb2.addActionListener(new JbListener());
tf6.addActionListener(new Tjbutton());
tf6.addMouseListener(new MouseDemo());
jp1.setLayout(new GridLayout(5,2));
jl1.setText(" "+"身份证号:");
jl2.setText(" "+"出生日期:");
jl3.setText(" "+"年龄:");
jl4.setText(" "+"性别:");
jl5.setText(" "+"本次登录时间:");
tf6.setColumns(30);
jp1.setBackground(Color.green);
jp2.setBackground(Color.blue);
this.setResizable(false);
tf1.setEditable(false);
tf2.setEditable(false);
tf3.setEditable(false);
tf4.setEditable(false);
tf5.setEditable(false);
tf6.setText("请输入身份证号");
add(jp1);
add(jp2,BorderLayout.SOUTH);
jp1.add(jl1);
jp1.add(tf1);
jp1.add(jl2);
jp1.add(tf2);
jp1.add(jl3);
jp1.add(tf3);
jp1.add(jl4);
jp1.add(tf4);
jp1.add(jl5);
jp1.add(tf5);
jp2.add(tf6);
jp2.add(jb1);
jp2.add(jb2);
setVisible(true);
}
private class Tjbutton implements ActionListener{
int length;
int y;
int age;
int m;
int d;
String strYear = null;
String strMonth = null;
String strDay = null;
String strNo = null;
String strXingBie = null;
String sex = "男";
public void actionPerformed(ActionEvent e){
try{
mycalendar();
}catch(Exception e1){
e1.printStackTrace();
}
}
public void mycalendar()throws IOException{
//使用正则表达式验证欲输入的内容
String stdin = tf6.getText().toString();
tf6.setText("");
length = stdin.length();
if(length >= 15 && length < 19){
if(length == 15){
strYear = stdin.substring(6,
;
strMonth = stdin.substring(8, 10);
strDay = stdin.substring(10, 12);
strNo = stdin.substring(12, 15);
}else if(length == 18){
strYear = stdin.substring(6, 10); //372925198910180775
strMonth = stdin.substring(10, 12);
strDay = stdin.substring(12, 14);
strNo = stdin.substring(14, 18);
strXingBie = stdin.substring(16, 17);
int xingbie = Integer.parseInt(strXingBie);
if(0 == xingbie % 2){
sex = "女";
}else{
sex = "男";
}
System.out.println(strXingBie);
}
Calendar c = Calendar.getInstance(); //c就是总日历
java.util.Date mydate = new java.util.Date();
int myhours = mydate.getHours();
int myminutes = mydate.getMinutes();
int myseconds = mydate.getSeconds();
String shours = Integer.toString(myhours);
String sminutes = Integer.toString(myminutes);
String sseconds = Integer.toString(myseconds);
y = c.get(Calendar.YEAR);
age = y - Integer.parseInt(strYear);
m = c.get(Calendar.MONTH) + 1;
d = c.get(Calendar.DATE);
String sage = Integer.toString(age);
String sy = Integer.toString(y);
String sm = Integer.toString(m);
String sd = Integer.toString(d);
String sss = sy+'-'+sm+'-'+sd+'-'+shours+'-'+sminutes+'-'+sseconds;
tf1.setText(stdin);
tf2.setText(strYear+"-"+strMonth+"-"+strDay);
tf3.setText(sage);
tf4.setText(sex);
tf5.setText(sss);
}else{
tf6.setText("您输入的身份证号码为空或有误,请重新填写!");
}
}
}
private class JbListener implements ActionListener{
public void actionPerformed(ActionEvent e){
tf1.setText("");
tf2.setText("");
tf3.setText("");
tf4.setText("");
tf5.setText("");
}
}
private class MouseDemo implements MouseListener{
public void mouseClicked(MouseEvent e) { //鼠标按键在组件上单击(按下并释放)时调用
}
public void mouseEntered(MouseEvent e) { //鼠标进入到组件上时调用
}
public void mouseExited(MouseEvent e) { //鼠标离开组件时调用
}
public void mousePressed(MouseEvent e) { //鼠标按键在组件上按下时调用
tf6.setText("");
}
public void mouseReleased(MouseEvent e) { //鼠标按钮在组件上释放时调用
}
}
}
分享到:
相关推荐
在实际应用中,开发者可以编写程序来自动解析身份证号码。通常,会使用正则表达式来验证身份证号码的格式,然后通过上述规则提取性别、出生日期和籍贯信息。例如,可以使用Python编程语言,通过字符串操作函数实现这...
值得注意的是,虽然这个例子提供了基本的示例,但在实际应用中,应考虑更多的安全性和错误处理,例如验证输入的身份证号码是否合法,以及处理找不到对应地区的特殊情况。 此外,考虑到隐私保护,此类功能在实际网站...
最后一个代码片段虽然不完整,但我们可以推测它可能是一个身份证号验证程序的开头。身份证号码验证是数据验证领域的一个实际应用场景,它通常需要程序根据特定的格式和规则来校验输入的字符串是否符合身份证号码的...
这个“腾讯AI身份证人脸识别JAVA例子”就是一个很好的示例,展示了如何利用Java编程语言与腾讯的AI接口进行交互,实现身份证照片的人脸识别功能。下面将详细阐述相关知识点。 首先,人脸识别是一种生物特征识别技术...
本文将详细介绍如何使用Java封装百度身份证识别接口,并将其整合到你的项目中,以便于实现高效的身份验证服务。 首先,让我们理解JavaEE(Java企业版)的角色。JavaEE是一种用于构建分布式、多层的企业级应用的平台...
描述中提到,“这是我大学期间java程序设计课程所写的所有java程序”,这表明这些程序是经过严谨的教学环境验证的,具有较高的教育价值。每个例子都是为了帮助学生解决实际问题,提升编程能力,且涵盖了从入门到进阶...
1. **服务器端程序**:用于接收客户端请求,解析身份证图像,处理OCR结果,并与数据库交互以验证身份证信息。 2. **客户端接口**:通常是一段JavaScript代码或者HTML页面,用户可以通过浏览器与之交互,上传身份证...
### JAVA正则常用知识及实例解析 #### 一、基础知识 **1. 预定义字符集** - **.** 任意字符(不一定匹配行结束符) - 示例: `a.b` 可以匹配 "acb"、"adb" 等。 - **$** 最后一个字符 - 示例: `a$` 匹配以 "a" ...
在这个案例中,“身份证的校验码 工具类”很可能是一个Java、Python、C#或其他编程语言的类,包含了一个或多个方法,用于根据输入的18位身份证号码的前17位计算出校验码。这个工具类对于需要验证身份证号码有效性的...
身份证号码验证是一个典型的例子,涉及到中国公民身份证号码的规则。在中国,身份证号码由18位数字组成,包括地区码、出生日期码、顺序码和校验码。JavaScript可以通过正则表达式来实现这个验证过程。 以下是一个...
这个应用程序的功能主要是进行身份证号查询以及电话号码归属地查询,是IT计算机专业学生在进行Android应用开发学习时的一个典型实例。 首先,我们要了解Android应用开发的基础知识。Android是由Google主导的开源...
根据提供的文件信息,本文将详细解释如何使用正则表达式来验证邮箱地址、IP地址以及手机号码,并且会对部分给出的代码示例进行解析。...希望这些例子能够帮助理解如何在实际应用中使用正则表达式来进行数据验证。
15 applet java可以编写两类程序,applications和applet,applications可以在控制台直接运行,与其他高级编程语言没有太大区别,而java的特色在于它具有编制小应用程序的功能,applet可以在internet上传输并在兼容...
这里的测试代码可能包含了单元测试、集成测试或者系统测试,用于验证华视CVR-100系列设备的Java接口功能是否正常。通过运行这些测试,开发者可以确保代码的质量,预防潜在的问题,并且在修改代码后快速检查改动的...
这个项目的实施涵盖了Java GUI开发、数据库操作和用户验证等多个方面,是学习和实践Java应用程序开发的好例子。通过完成这个项目,开发者可以提升对Java Swing、JDBC和数据库操作的理解,同时增强实际问题解决能力。
在Java开发中,数据校验是非常重要的一环,它确保了数据的完整性和一致性,防止了因输入不合法数据导致的程序错误。Hibernate是Java领域中广泛应用的对象关系映射(ORM)框架,它提供了一套强大的数据验证工具——...
- **验证身份证号(15位或18位数字)**:`^\d{15}|\d{18}$` - 解析:匹配15位或18位的身份证号。 #### 四、其他复杂应用场景 - **匹配中文字符**:`[\u4e00-\u9fa5]` - 解析:匹配中文字符,常用于处理包含中文的...
10. `查询区号、身份证、手机归属地 (Delphi版本)`表明这个系统使用了Delphi编程语言开发,Delphi是一款强大的面向对象的Windows应用程序开发工具,基于Pascal语言,适合快速开发桌面应用。 综上所述,这个系统融合...