发布网友 发布时间:2022-04-25 15:06
共3个回答
热心网友 时间:2022-04-25 16:35
我帮你写了一个完整的JAVA界面和正则表达式判断,而且运行了,可以用,不过你说的只能输入汉字的正则表达式是没有的,运行结果如下
源代码如下(你改下类名就可以了):
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class zhengze extends JFrame{
private JTextField field1, field2,field3,field4,field5,field6,field7,field8,field9,field10;
private JLabel label1,label2,label3,label4,label5,label6,label7,label8,label9,label10,brank1,brank2;
private JButton button,button1;
private JRadioButton radio1,radio2;
private JComboBox box;
private String date[]={"1994","1993","1992","1991","1990"};
public zhengze()
{
super("正则表达式");
Container container=getContentPane();
container.setLayout(new FlowLayout());
label1=new JLabel("学号");
container.add(label1);
field1=new JTextField(15);
container.add(field1);
label2=new JLabel("姓名");
container.add(label2);
field2=new JTextField(15);
container.add(field2);
label3=new JLabel("性别");
container.add(label3);
radio1=new JRadioButton("男",true);
container.add(radio1);
radio2=new JRadioButton("女",false);
container.add(radio2);
brank1=new JLabel(" ");
container.add(brank1);
label4=new JLabel("出身日期");
container.add(label4);
box=new JComboBox(date);
container.add(box);
brank2=new JLabel(" ");
container.add(brank2);
label5=new JLabel("入学成绩");
container.add(label5);
field5=new JTextField(10);
container.add(field5);
label6=new JLabel("身份证号");
container.add(label6);
field6=new JTextField(10);
container.add(field6);
label7=new JLabel("家庭住址");
container.add(label7);
field7=new JTextField(10);
container.add(field7);
label8=new JLabel("邮编号码");
container.add(label8);
field8=new JTextField(10);
container.add(field8);
label9=new JLabel("联系电话");
container.add(label9);
field9=new JTextField(12);
container.add(field9);
label10=new JLabel("备注");
container.add(label10);
field10=new JTextField(15);
container.add(field10);
/*Icon bug1=new ImageIcon("10007.gif");
button =new JButton("");
button.setBackground(Color.blue);
button.setIcon(bug1);
container.add(button);*/
lake ak=new lake();
field1.addActionListener(ak);
field2.addActionListener(ak);
field5.addActionListener(ak);
field6.addActionListener(ak);
field7.addActionListener(ak);
field8.addActionListener(ak);
field9.addActionListener(ak);
field10.addActionListener(ak);
setSize(230,400);
setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
zhengze application =new zhengze();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class lake implements ActionListener{
public void actionPerformed(ActionEvent event)
{
if (event.getSource()==field1)
if(!field1.getText().matches("[0][8][0][1]\\d{2}"))
JOptionPane.showMessageDialog(null, "非法学号");
if (event.getSource()==field2)
if(field2.getText().equals(""))
JOptionPane.showMessageDialog(null, "请填入姓名");
if (event.getSource()==field5)
if(Integer.parseInt(field5.getText())<0||Integer.parseInt(field5.getText())>300)
JOptionPane.showMessageDialog(null, "输入成绩超出实际范围");
if (event.getSource()==field6)
if(!field6.getText().matches("\\d{18}"))
JOptionPane.showMessageDialog(null, "非法身份证号");
if (event.getSource()==field7)
if(field2.getText().equals(""))
JOptionPane.showMessageDialog(null, "请输入家庭地址");
if (event.getSource()==field8)
if(!field8.getText().matches("\\d{6}"))
JOptionPane.showMessageDialog(null, "非法邮编号");
if (event.getSource()==field9)
if(!field9.getText().matches("\\d{11}"))
JOptionPane.showMessageDialog(null, "非法联系号码");
}
}
}
热心网友 时间:2022-04-25 17:53
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">热心网友 时间:2022-04-25 19:28
介绍个js包给你吧.能满足你的要求.