我有以下代码来验证 sip:uri 格式字符串:
private final static Pattern SIP_URI_PATTERN = Pattern.compile("^(sip(?:s)?):(?:[^:]*(?::[^@]*)?@)?([^:@]*)(?::([0-9]*))?$", Pattern.CASE_INSENSITIVE);
public static boolean isValidURI(String address){
if(address == null)
return false;
return address != null && address.length() <= 65 && SIP_URI_PATTERN.matcher(address).matches();
}
我不是专家,所以我想我在这里错过了一些东西,当我提交这个字符串时,它返回true:
sip:4563214567@example.com
sip:4563214567@XX.XX.XX.XX -> XX = IP 地址
当我提交此字符串时,它也返回 true,但由于缺少@应该返回 false:
sip:4563214567example.com
任何的想法?
慕工程0101907
相关分类