为了账号安全,请及时绑定邮箱和手机立即绑定

Java 中的 Sip URI 验证

Java 中的 Sip URI 验证

忽然笑 2021-07-22 17:15:48
我有以下代码来验证 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.comsip:4563214567@XX.XX.XX.XX -> XX = IP 地址当我提交此字符串时,它也返回 true,但由于缺少@应该返回 false:sip:4563214567example.com任何的想法?
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

我认为以这种方式检查有效的 IP 地址或域更方便。


sip:[0-9]*@((\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b)|((([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|([a-zA-Z0-9][a-zA-Z0-9-_]{1,61}[a-zA-Z0-9]))\.([a-zA-Z]{2,6}|[a-zA-Z0-9-]{2,30}\.[a-zA-Z]{2,3})))

演示


在 Java 形式中,


private final static Pattern SIP_URI_PATTERN =

            Pattern.compile("sip:[0-9]*@((\\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.|$)){4}\\b)|((([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|([a-zA-Z0-9][a-zA-Z0-9-_]{1,61}[a-zA-Z0-9]))\\.([a-zA-Z]{2,6}|[a-zA-Z0-9-]{2,30}\\.[a-zA-Z]{2,3})))",

                    Pattern.CASE_INSENSITIVE);


查看完整回答
反对 回复 2021-07-29
  • 1 回答
  • 0 关注
  • 246 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信