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) { //鼠标按钮在组件上释放时调用
}
}
}
分享到:
相关推荐
15 applet java可以编写两类程序,applications和applet,applications可以在控制台直接运行,与其他高级编程语言没有太大区别,而java的特色在于它具有编制小应用程序的功能,applet可以在internet上传输并在兼容...
第1章 Java基础 1.1 转换基本数据类型 1.2 Java的运算符 1.3 控制程序的流程 1.4 计算阶乘 1.5 实现命令行程序 第2章 Java面向对象程序设计 2. 1 复数类 2. 2 equals.chashCode...
**文字识别(OCR)**:身份证,名片,通用,驾驶证行驶证,营业执照,银行卡,车牌号 **人脸识别**:人脸检测,五官定位,个体信息管理,人脸验证,人脸对比及人脸检索 **人脸核身**:照片核身(通过照片和身份证...
在这是junit测试单元类我就不提交了,在main()方法中有几个小测试,有兴趣自己玩吧. 这个工具类目前主要有25种正规表达式(有些不常用,但那时才仔细深入的研究了一下正规,写上瘾了,就当时能想到的都写了): 1....
6.3 身份证的验证 二、功能类 1、时间与相关控件类 1.1 日历 1.2 时间控件 1.3 万年历 1.4 显示动态显示时钟效果(文本,如OA中时间) 1.5 显示动态显示时钟效果 (图像,像手表) 2、表单类 2.1 自动生成...
6.3 身份证的验证 二、功能类 1、时间与相关控件类 1.1 日历 1.2 时间控件 1.3 万年历 1.4 显示动态显示时钟效果(文本,如OA中时间) 1.5 显示动态显示时钟效果 (图像,像手表) 2、表单类 ...
6.3 身份证的验证 二、功能类 1、时间与相关控件类 1.1 日历 1.2 时间控件 1.3 万年历 1.4 显示动态显示时钟效果(文本,如OA中时间) 1.5 显示动态显示时钟效果 (图像,像手表) 2、表单类 2.1 自动生成表单 ...
6.3 身份证的验证 二、功能类 1、时间与相关控件类 1.1 日历 1.2 时间控件 1.3 万年历 1.4 显示动态显示时钟效果(文本,如oa中时间) 1.5 显示动态显示时钟效果 (图像,像手表) 2、表单类 ...
6.3 身份证的验证 二、功能类 1、时间与相关控件类 1.1 日历 1.2 时间控件 1.3 万年历 1.4 显示动态显示时钟效果(文本,如oa中时间) 1.5 显示动态显示时钟效果 (图像,像手表) 2、表单类 ...
B) {alert(\"输入的身份证号 \"+ a[0] +\" 里出生日期不对!\"); return false;} } return true; } 3.7 复选框的全选,多选,全不选,反选 (\'mm\')\">全选 (\'All\')\"> (\'All\')\">...
#实现的18位身份证格式验证算法 身份证15To18 的算法(C#) 一组 正则表达式 静态构造函数 忽略大小写Replace效率瓶颈IndexOf 随机排列算法 理解C#中的委托[翻译] 利用委托机制处理.NET中的异常 与正则表达式相关的几...