不做总结总会忘,在日常开发中经常遇到的数据校验,记下来以供分享。
下面是我的代码,公司用的artery框架,客户端和服务器端代码会自动生成。做修改实现功能就可以了。
客户端js
/**
* 验证脚本(faStringCDM)
*
* @param rc 系统提供的AJAX调用对象
* @param value 控件的值
*/
function faStringCDM_onValidClient (rc, value){
rc.put("value",value);
rc.send(function(result) {
if("error"==result)
Artery.showWarning("代码格式输入不规范");
});
}
服务器端java
* 验证时脚本
*
* @param item
* 控件对象
*/
public Object faStringCDM_onValidServer(Item item) {
String dm = ArteryParamUtil.getString("value");
if(dm.length()<=1){
return "error";
}
String[] tdm = dm.split("\\.");
for(int i=0;i<tdm.length;i++){
if (tdm[i].length()!=2){
return "error";
}
}
return "ok";
}
上面的代码用到了要介绍的第一个方法----split()
split() 方法根据匹配给定的正则表达式来拆分字符串。而被拆分的数据就变成一个字符串的数组;
- 语法:
public String[] split(String reg, int limit) //reg -- 正则表达式分隔符 limit -- 分割的份数。
-
注意: . 、 | 和 * 等转义字符,必须得加 \。
-
注意:多个分隔符,可以用 | 作为连字符。
java还有判断包含关系的方法—contains()
contains返回的是布尔类型true 和false,包含的话就返回true,不包含的话就返回false
例:可以用来判断某字符串中是否含有某字符
public class test{
public static void main(String[] args) {
String str1 = "l love you";
String str2 = "love";
boolean str3 = str1.contains(str2);
System.out.println(str3);
}
}
输出结果:
true