try{
Float.parseFlot(inputStr); //成功说明是数字
}catch(){
//失败说明有其他字符
}
Float.parseFlot(inputStr); //成功说明是数字
}catch(){
//失败说明有其他字符
}
解决方案 »
- hibernate配置c3po连接池后:无法使用jdbc查询?报错Operation not allowed after ResultSet closed
- 谁有JfreeChart开发包:jfreechart-0.9.21.zip给我发一下
- 本人有struts+hibernat项目经验。想学习ssh。有什么好书介绍,大家,拜谢了。
- Hibernate问题
- java中timer里边那个间隔时间可以刷新的吗
- 分页标签pager taglib的出现问题?
- 有关maven的
- jsp 页面上传文件的时候,怎么实现进度条啊
- tomcat向weblogic移植中的中文乱码问题
- 关于一个入门问题,高手进,指点一下
- 一个灰常菜鸟的问题,求解答
- 在struts中的<html:errors/>的问题
String lastName, firstName, street1, street2, city, state, postalCode, age;数据验证是否是整数的方法(文件名是validator-example.xml):
<validator name="int"
classname="org.apache.commons.validator.TestTypeValidator"
method="validateInt"
methodParams="java.lang.Object,org.apache.commons.validator.Field"
msg="errors.int"/>.............
<field property="age" depends="required,int">
<arg key="nameForm.age.displayname"/>
</field>
对字符串的每个字符判断是否是数字行了,
for(int i=0;i<testParam.length();i++){
if(Character.isDigit(testParam.charAt(i))==false){
flag=0;
}
}
if(flag==0){
System.out.println("is not contain character(不能包含字符)!");
}
String d,
int n1,
int n2,
boolean isEmpty,
boolean isNegative) {
String str;
if(n2 == 0){
str = "0123456789" ;
}
else{
str = "0123456789.";
}
n1 -= n2;
int i;
if (d == null || d.trim().equals("")) {
if (!isEmpty) {
return 1;
}
}
else {
String new_d = d.trim();
int last_d = new_d.length() - new_d.indexOf(".") - 1;
if (isNegative) {
if (new_d.charAt(0) == '-') {
new_d = new_d.substring(1);
}
}
for (i = 0; i < new_d.length(); i++) {
if (str.indexOf(new_d.charAt(i)) == -1
|| (new_d.indexOf(".") == 0 || last_d == 0)
|| new_d.indexOf(".") != new_d.lastIndexOf(".")) {
return 2;
}
}
if (new_d.indexOf(".") != -1) {
if (new_d.indexOf(".") > n1) {
return 3;
}
}
else {
if (new_d.length() > n1) {
return 3;
}
}
if (last_d > n2 && (new_d.indexOf(".") != -1)) {
return 4;
}
}
return 0;
}
也可以直接在页面上进行校验。
后者比较简单。我写的是js函数。//检验是否为有效的实数,其中s为输入的值,i为要求的整数位数,d为要求的小数位数
function isValidateFloat(s,i,d)
{/*
if(!isNumeric(s)) {
var dotPos = s.indexOf(".");
if(dotPos == -1) {
return (isInteger(s) && s.length < i);
} else if(dotPos > i) {
return false;
} else if(s.length - dotPos - 1 > d) {
return false;
} else {
return true;
}
} else {
return false;
}
*/
if(s.indexOf(".")==0){return false;}
else
{
if(s.indexOf(".")<0)
{
if(s.length>i){return false;}
}
else
{
var aArray=s.split(".");
if(aArray[0].length>i || aArray[1].length>d){return false;}
}
}
return true;
}
提供一个方法:
<script lang='JavaScript'>
// e is a element
function validatePattern(e)
{
var pattern = e.pattern;
var testString = trim(e.value);var re = new RegExp(pattern,"i");
if(testString.match(re)==null)
{
alert(e.errorMessage==null?"Invalid value. Please retype.":e.errorMessage);
e.focus();
return false;
}
return true;
}
</script><input type="Text" name="safetyStock" maxlength="4" pattern="^[0-9]+\.{0,1}[0-9]*$" onblur = "return validatePattern(this);" errorMessage="Please input a number.">
一个validation.xml的例子:
<global>
<constant>
<constant-name>number</constant-name>
<constant-value>^[0-9]*$</constant-value>
</constant>
</global>
...
<form name="对应的actionForm(跟struts-config.xml中的名字一致)">
<field property="xxx" depends="mask">
<msg name="mask" key="errors.number" resource="true"/>
<arg0 key="项目名" resource="false"/>
<var>
<var-name>mask</var-name>
<var-value>${number}</var-value>
</var>
</form>
其中的errors.number需要在resource文件中定义,如果校验失败,会以次作为出错信息的message
struts-config.xml中追加:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml" />
</plug-in>
如果你不想提交到服务器端检测,而又不想对XML配置,在客户端用JAVASCRIPT来检验还是不错的选择的。学习