怎么对输入的日期格式验证? 例如,在一个TextField里输入数据,怎么验证输入的是否是yyyy-mm-dd格式? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接判断的那种if (jTextField.getText().trim().equals("")) { JOptionPane.showMessageDialog(null,"请输入日期格式“yyyy-mm-dd”!","错误提示",JOptionPane.PLAIN_MESSAGE); return; }if里面怎么改(if(TextField.getText().trim().equals("")) || (这里怎么写?) ) TextField.matches("[\\d]{4}[-][\\d]{2}[-][\\d]{2}")如果不匹配返回false 不行啊说class类不可用我前面加了import.java.math.*也不行 不可能吧 java.lang.String 里的 matches方法 你查下API import java.lang.String.*;再试试 是有那个类包但我一运行就说找不到符号TextField.matches("[\\d]{4}[-][\\d]{2}[-][\\d]{2}")就这一句报错 System.out.println(TextField.matches("[\\d]{4}[-][\\d]{2}[-][\\d]{2}"));看看输出什么 java.util.regex 包里的方法加上上面的正则基本就ok了! (TextField.getText().trim().matches("\\d{4}-\\d{2}-\\d{2}")) 按照楼主的意思应该是TextField.getText().trim().matches("[\\d]{4}[-][\\d]{2}[-][\\d]{2}") 不行啊,还是说方法matches有错误 另说一下 我是用netbeans做的 import java.lang.String.*;加了么? +了啊 就是说matches方法有错误 package fwzl; import java.awt.*;import java.sql.*;import javax.swing.*;import java.lang.Integer;import java.util.*;import javax.swing.table.*;import java.awt.event.ItemEvent;import java.lang.*;import java.lang.String.*;/** * * @author Administrator */public class sflr extends javax.swing.JFrame { String url="jdbc:odbc:fwzlgl"; String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; Connection con=null; Statement stmt=null; PreparedStatement pstmt=null; ResultSet rs=null; ResultSet rs1=null; ResultSet rs2=null; ResultSetMetaData metaData; /** Creates new form sflr */ public sflr() { initComponents(); try { Class.forName(DBDriver); con=DriverManager.getConnection(url,"",""); } catch(Exception e) { e.printStackTrace(); } } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO 将在此处添加您的处理代码: String sfdm=jTextField7.getText().trim(); String htbh=jTextField1.getText().trim(); String fwdm=jTextField2.getText().trim(); String sfrq=jTextField3.getText().trim(); String sfxm=jTextField4.getText().trim(); String sfje=jTextField5.getText().trim(); String skr=jTextField6.getText().trim(); String bz=jTextArea1.getText().trim(); if (jTextField7.getText().trim().equals("")) { JOptionPane.showMessageDialog(null,"收费代码不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE); return; } if (jTextField1.getText().trim().equals("")) { JOptionPane.showMessageDialog(null,"合同编号不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE); return; } if (jTextField2.getText().trim().equals("")) { JOptionPane.showMessageDialog(null,"房屋代码不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE); return; } if (jTextField3.getText().trim().equals("") || TextField.getText().trim().matches("[\\d]{4}[-][\\d]{2}[-][\\d]{2}")) { JOptionPane.showMessageDialog(null,"收费日期不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE); return; } if (jTextField4.getText().trim().equals("")) { JOptionPane.showMessageDialog(null,"收费项目不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE); return; } if (jTextField5.getText().trim().equals("")) { JOptionPane.showMessageDialog(null,"收费金额不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE); return; } if (jTextField6.getText().trim().equals("")) { JOptionPane.showMessageDialog(null,"收款人不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE); return; } if (jTextArea1.getText().trim().equals("")) { JOptionPane.showMessageDialog(null,"如无需备注,请输入无!","错误提示",JOptionPane.PLAIN_MESSAGE); return; } try { stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); String query="select * from 合同表 where 合同编号='"+htbh+"'"; String fwdm1="select * from 合同表 where 房屋代码='"+fwdm+"'"; String sfdm1="select * from 收费表 where 收费代码='"+sfdm+"'"; String input="insert into 收费表 (收费代码,合同编号,房屋代码,收费日期,收费项目,收费金额,收款人,备注)values('"+sfdm+"','"+htbh+"','"+fwdm+"','"+sfrq+"','"+sfxm+"','"+sfje+"','"+skr+"','"+bz+"')"; rs=stmt.executeQuery(query); boolean iRecords=rs.next(); if(!iRecords) { JOptionPane.showMessageDialog(this,"对不起,没有此合同,请重新输入"); jTextField1.setText(""); //con.close(); return; } rs1=stmt.executeQuery(fwdm1); boolean i=rs1.next(); if(!i) { JOptionPane.showMessageDialog(this,"对不起,没有此房屋,请重新输入"); jTextField2.setText(""); //con.close(); return; } rs2=stmt.executeQuery(sfdm1); boolean i1=rs2.next(); if(i1) { JOptionPane.showMessageDialog(this,"对不起,该收费代码已存在,请重新输入!"); jTextField7.setText(""); //con.close(); return; } int insert=stmt.executeUpdate(input); if(insert==1) { JOptionPane.showMessageDialog(this,"收费信息添加成功!"); jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField5.setText(""); jTextField6.setText(""); jTextField7.setText(""); jTextArea1.setText(""); } } catch(Exception e) { e.printStackTrace(); } } 运行后E:\新建文件夹\FWZL\src\fwzl\sflr.java:241: 无法从静态上下文中引用非静态 方法 getText() if (jTextField3.getText().trim().equals("") || TextField.getText().trim().matches("[\\d]{4}[-][\\d]{2}[-][\\d]{2}"))1 错误生成失败(总时间:1 秒) import import java.lang.String.*;java.util.regex.*;导入这些包。另外getText()不是静态方法,先创建对象,TextField tf=new TextField();tf.getText().trim().matches("[\\d]{4}-[\\d]{2}-[\\d]{2}") 哦,不好意思是我打错了哪块是jTextField3.getText().trim 我的意思是判断日期格式不为"yyyy-mm-dd"的话JOptionPane.showMessageDialog(null,"请输入日期格式“yyyy-mm-dd”!","错误提示",JOptionPane.PLAIN_MESSAGE); 关于文件的AES加密的难题 第一次編譯JAVA 問題 关于JTable单元格文字换行~ 我刚下了个JDK。请问如何将它嵌入到eclipse中 死定了!!!!!!在线等候你的佳音 刚使用Jbuild 发觉快捷键比delphi差远了,代码自动完成功能没有,那位仁兄提供快捷键大全 在linux下,java的RAD软件有哪些? 利用Java语言所学的知识制作一个小动画,并加载声音效果。请帮忙,关系我的命运!!! 用APPLET编写,画出一条螺旋线。应该很短的!写全吧。 急!初学者问题,请指教 谁能帮帮我!!ArrayList! 新手弱问,模式对话框里不能进行数据库操作?
if (jTextField.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"请输入日期格式“yyyy-mm-dd”!","错误提示",JOptionPane.PLAIN_MESSAGE);
return;
}
if里面怎么改(if(TextField.getText().trim().equals("")) || (这里怎么写?) )
如果不匹配返回false
说class类不可用
我前面加了import.java.math.*
也不行
java.lang.String 里的 matches方法 你查下API
再试试
但我一运行就说找不到符号
TextField.matches("[\\d]{4}[-][\\d]{2}[-][\\d]{2}")
就这一句报错
看看输出什么
TextField.getText().trim().matches("[\\d]{4}[-][\\d]{2}[-][\\d]{2}")
我是用netbeans做的
就是说matches方法有错误
import java.awt.*;
import java.sql.*;
import javax.swing.*;
import java.lang.Integer;
import java.util.*;
import javax.swing.table.*;
import java.awt.event.ItemEvent;
import java.lang.*;
import java.lang.String.*;
/**
*
* @author Administrator
*/
public class sflr extends javax.swing.JFrame {
String url="jdbc:odbc:fwzlgl";
String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
Connection con=null;
Statement stmt=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
ResultSet rs1=null;
ResultSet rs2=null;
ResultSetMetaData metaData;
/** Creates new form sflr */
public sflr() {
initComponents();
try
{
Class.forName(DBDriver);
con=DriverManager.getConnection(url,"","");
}
catch(Exception e)
{
e.printStackTrace();
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO 将在此处添加您的处理代码:
String sfdm=jTextField7.getText().trim();
String htbh=jTextField1.getText().trim();
String fwdm=jTextField2.getText().trim();
String sfrq=jTextField3.getText().trim();
String sfxm=jTextField4.getText().trim();
String sfje=jTextField5.getText().trim();
String skr=jTextField6.getText().trim();
String bz=jTextArea1.getText().trim();
if (jTextField7.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"收费代码不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE);
return;
}
if (jTextField1.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"合同编号不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE);
return;
}
if (jTextField2.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"房屋代码不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE);
return;
}
if (jTextField3.getText().trim().equals("") || TextField.getText().trim().matches("[\\d]{4}[-][\\d]{2}[-][\\d]{2}"))
{
JOptionPane.showMessageDialog(null,"收费日期不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE);
return;
}
if (jTextField4.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"收费项目不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE);
return;
}
if (jTextField5.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"收费金额不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE);
return;
}
if (jTextField6.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"收款人不可为空!","错误提示",JOptionPane.PLAIN_MESSAGE);
return;
}
if (jTextArea1.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"如无需备注,请输入无!","错误提示",JOptionPane.PLAIN_MESSAGE);
return;
}
try
{
stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
String query="select * from 合同表 where 合同编号='"+htbh+"'";
String fwdm1="select * from 合同表 where 房屋代码='"+fwdm+"'";
String sfdm1="select * from 收费表 where 收费代码='"+sfdm+"'";
String input="insert into 收费表 (收费代码,合同编号,房屋代码,收费日期,收费项目,收费金额,收款人,备注)values('"+sfdm+"','"+htbh+"','"+fwdm+"','"+sfrq+"','"+sfxm+"','"+sfje+"','"+skr+"','"+bz+"')";
rs=stmt.executeQuery(query);
boolean iRecords=rs.next();
if(!iRecords)
{
JOptionPane.showMessageDialog(this,"对不起,没有此合同,请重新输入");
jTextField1.setText("");
//con.close();
return;
}
rs1=stmt.executeQuery(fwdm1);
boolean i=rs1.next();
if(!i)
{
JOptionPane.showMessageDialog(this,"对不起,没有此房屋,请重新输入");
jTextField2.setText("");
//con.close();
return;
}
rs2=stmt.executeQuery(sfdm1);
boolean i1=rs2.next();
if(i1)
{
JOptionPane.showMessageDialog(this,"对不起,该收费代码已存在,请重新输入!");
jTextField7.setText("");
//con.close();
return;
}
int insert=stmt.executeUpdate(input);
if(insert==1)
{
JOptionPane.showMessageDialog(this,"收费信息添加成功!");
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
jTextField7.setText("");
jTextArea1.setText("");
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
运行后
E:\新建文件夹\FWZL\src\fwzl\sflr.java:241: 无法从静态上下文中引用非静态 方法 getText()
if (jTextField3.getText().trim().equals("") || TextField.getText().trim().matches("[\\d]{4}[-][\\d]{2}[-][\\d]{2}"))
1 错误
生成失败(总时间:1 秒)
java.util.regex.*;
导入这些包。
另外getText()不是静态方法,先创建对象,
TextField tf=new TextField();
tf.getText().trim().matches("[\\d]{4}-[\\d]{2}-[\\d]{2}")
是我打错了
哪块是jTextField3.getText().trim
JOptionPane.showMessageDialog(null,"请输入日期格式“yyyy-mm-dd”!","错误提示",JOptionPane.PLAIN_MESSAGE);