java中验证字符串是不是数字的三+一种方法--转载别人
java中验证字符串是不是数字的三+一种方法--转载别人
1、java类库自带的方法:
public boolean isNumber(String str)
{
if(java.lang.Character.isDigit(msg.charAt(0))){
return true;
}
return false;
}
}
要验证字符串需要循环验证!
2、更新:用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
这两个包,或者不导入包,直接用:
//正则表达式数字验证
public boolean isNumber(String str)
{
java.util.regex.Pattern pattern=java.util.regex.Pattern.compile("[0-9]*");
java.util.regex.Matcher match=pattern.matcher(str);
if(match.matches()==false)
{
return false;
}
else
{
return true;
}
}
3、其他怪异的招式,比如判断是不是整型数字,将字符串强制转换成整型,不是数字的就会抛出错误,那么就不是整型的了。
4.最近偶然发现还有一种更简单的方法,觉得还挺好用,无私的我奉献给大家了
实现文本框Text输入时的验证功能,记住是在输入的时候就进行验证
在文本框的事件中加入VerifyListener可以在输入时验证输入是否是合法数据
在下面的示例中,文本框中只能输入数字,并且数字的长度不能超过10
final Text tx=new Text(shell,SWT.BORDER);
tx.setBounds(20,20,100,40);
//限制文本框中最多能够输入10个字符
tx.setTextLimit(10);
//添加验证监听事件
tx.addVerifyListener(new VerifyListener()
{
//当文本框的内容改变时,会响应该事件
public void verifyText(VerifyEvent e)
{
//e.text是引起文本框内容改变的输入字符,判断他是否是数字
boolean b="0123456789".indexOf(e.text)>=0;
//doit标志是否改变文本框的内容
e.doit=b;
}
});
String str = textField.getText();
if (str.length() == 14)
{
try
{
int year = Integer.parse(str.substring(0, 4));
int month = Integer.parse(str.substring(4, 6));
int date = Integer.parse(str.substring(6, 8));
int hour = Integer.parse(str.substring(8, 10));
int minute = Integer.parse(str.substring(10, 12));
int second = Integer.parse(str.substring(12, 14));
//接下来判断是否为合法的日期格式
...
}
catch (Exception e)
{
e.printStackTrace();
}
}