Dart / Flutter - 验证URL的字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dart / Flutter - 验证URL的字符串相关的知识,希望对你有一定的参考价值。
我正在尝试创建一个系统,我可以在其中验证字符串以检查它是否是网址。 (https://www.google.com/)
我找到了颤振包validator,但这不是dart 2兼容,所以不能与我的代码兼容。
同样命名,我也发现了validators包,但我似乎无法使其与我的代码正常工作,因为它抛出以下错误; (希望你喜欢我的项目名称;)
Because every version of flutter_test from sdk depends on test 1.3.0
and every version of validators depends on test ^1.3.3, flutter_test from sdk is incompatible with validators.
So, because gucci depends on both validators ^1.0.0+1 and flutter_test any from sdk, version solving failed.
Unable to reload your application because "flutter packages get" failed to update package dependencies.
Exception: pub get failed (1)
如果您可以找到validators
的修复程序,以便它不会抛出此错误,从而可以正常使用我的代码,或建议另一种验证字符串是否符合URL的方法,这将是很好的。
谢谢
编辑 - 我的pubspec.yaml
文件
name: gucci
description: A new Flutter project.
dependencies:
flutter:
sdk: flutter
cupertino_icons:
barcode_scan:
gradient_app_bar:
url_launcher:
validate: ^1.7.0
dev_dependencies:
flutter_test:
sdk: flutter
fonts:
- family: PlayfairDisplay
fonts:
- asset: fonts/PlayfairDisplay-BoldItalic.ttf
- family: Kanit
fonts:
- asset: fonts/Kanit-ExtraBoldItalic.ttf
- family: Poppins
fonts:
- asset: fonts/Poppins-BoldItalic.ttf
- family: PoppinsLightItalic
fonts:
- asset: fonts/Poppins-LightItalic.ttf
- family: PoppinsMediumItalic
fonts:
- asset: fonts/Poppins-MediumItalic.ttf
出于某种原因,validators
软件包需要一个最新版本的flutter测试库,而不是将其留给应用程序。也许有一个很好的理由(即他们正在使用新功能)。
flutter引擎内部需要特定版本的flutter_test库(这就是为什么指定它的版本通常是个坏主意)。所以要解决这个问题,你必须通过运行flutter upgrade
来升级你的颤振。如果您已经使用了最新版本的频道,则可能必须运行flutter channel dev
或flutter channel master
才能切换到更频繁更新的频道(真正的分支)。
我大部分时间都在dev
分支/频道上运行,虽然它偶尔会出现问题,但它并没有发生太多。如果可能的话,我建议不要使用master分支。
var urlPattern = r"(https?|http)://([-A-Z0-9.]+)(/[-A-Z0-9+&@#/%=~_|!:,.;]*)?(?[A-Z0-9+&@#/%=~_|!:,.;]*)?";
var match = new RegExp(urlPattern, caseSensitive: false).firstMatch('https://www.google.com');
match = RegExp(urlPattern, caseSensitive: false).firstMatch('http://www.google.com');
您也可以使用RegExp。
以上是关于Dart / Flutter - 验证URL的字符串的主要内容,如果未能解决你的问题,请参考以下文章
在 URL 参数中传递用户名和密码 (Dart & Flutter)
Flutter/Dart Uri 没有在 URL 中转义冒号“:”