判断流水账号是否在0001-9999之间

项目中遇到一个校验问题,是在写webservice的时候,对于主键进行校验,首先校验了主键的长度和主键必填,然后这个主键是由10位编码+6位年月日+4位流水账号组成:
10位编码:可以将获取的主键字符串用substring(st1,st2)进行截取,然后和编码表里面的值进行对比,如果不存在就给提示
6位年月日:yyMMdd的格式,如果该段字符串转为日期符合yyMMdd的格式,那么校验就可以通过,否则不通过
4位流水账号:0001-9999,我的解决方案是:

String lszh = dxmxxxdaxx.getDXID().substring(16, 20);
int lszhNum = Integer.parseInt(lszh);

先获取对应的字符串,然后再转为数字对于数字进行比较,

if (lszhNum < 1 || lszhNum > 9999) {
				return "[短信信息]中流水账号必须为在0001-9999,请确认!";
			}

如果截取的后四位字符串转为数字在1-9999之间,那么这个流水账号就是存在的,否则流水账号是不存在的,这个主键也就是不存在的。

你可能感兴趣的:(web,service,校验,java,JAVA)