数据校验
JS:验证 mac是否为12位16进制数据
var format = /^[a-fA-F0-9]{12}$/;
if(!format.test(mac)){
alert("mac格式不正确! 请重新输入");
return;
}
Java:验证 mac 是否满足12位16进制数据
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public static boolean isMac12(String input) {
boolean result = false;
if (input == null) {
return result;
}
if (input.equals("")) {
return result;
}
if (input.length() == 12) {
Pattern p = Pattern.compile("[A-Fa-f0-9]{12}");
Matcher m = p.matcher(input);
result = m.matches();
}
return result;
}
进制转换
Java:十六进制与十进制的转换
如下:mac为十六进制数据,转换位十进制macInt
Long macInt = Long.parseLong(mac, 16);
如下:macInt为十进制数据,转换为十六进制mac,并转为大写字母
String mac = Long.toHexString(macInt).toUpperCase();
JS:parseInt()
parseInt() 函数可解析一个字符串,并返回一个整数。
parseInt("10"); //返回 10
parseInt("19",10); //返回 19 (10+9)
parseInt("11",2); //返回 3 (2+1) 二进制
parseInt("17",8); //返回 15 (8+7) 八进制
parseInt("1f",16); //返回 31 (16+15) 十六进制
parseInt("123nihao") //返回 123
parseInt("010"); //未定:返回 10 或 8
JS:十进制转化为十六进制
如下:num为十进制数据
num.toString(16)
Java 中声明一个List的属性 macs
List<@Pattern(regexp = "([0-9a-fA-F]{12})", message = "mac.format.error") String>
private List<@Pattern(regexp = "([0-9a-fA-F]{12})", message = "mac.format.error") String> macs;