String baseUrl = "httpswwwmywebsiteit";
Uri primaUrl = Uri.parse(baseUrl);
print(primaUrl); // returns httpswwwmywebsiteit这是有效的uri吗?我怎样才能识别出格式错误的urls?例如,在哪有一个斜杠而不是两个?还是失败的计划?
发布于 2022-05-08 10:59:47
字符串"httpswwwmywebsiteit"是一个有效的URI引用(根据RFC 3986)。
它是一个相对的部分,它有一个路径- segment,它只是一个URI路径段。
如果您想验证某个东西是一个有效的URI,并且有一个方案和路径,那么您需要检查它。
if (!primaUrl.hasScheme || !primarUrl.hasAuthority || primaUrl.path.isEmpty) {
// Or whichever requirements you have on the URI.
throw ArgumentError.value(baseUrl, "baseUrl", "Not a full URI");
}要检查方案是否有效,需要定义该方案的含义,然后可以检查primaUrl.scheme是否满足这一要求。
发布于 2022-05-07 09:25:39
欧文在"Uri.parse不扔FormatException“节目中
Dart Uri类不是验证已注册的方案,而是验证RFC 3986语法。 Uri类提供的唯一特殊情况是识别HTTP和HTTPS协议的默认端口。
你应该看这个:Dart / Flutter验证URL字符串
https://stackoverflow.com/questions/72150914
复制相似问题