2024-04-30 23:38:49 +08:00
|
|
|
extension StringExtension on String {
|
|
|
|
|
bool get isUrl {
|
2024-07-02 08:08:31 +08:00
|
|
|
return RegExp(
|
2024-07-07 10:02:10 +08:00
|
|
|
r'^(https?:\/\/)?'
|
|
|
|
|
r'((([a-z\d]([a-z\d-]*[a-z\d])*)\.)+[a-z]{2,}|'
|
|
|
|
|
r'((\d{1,3}\.){3}\d{1,3}))'
|
|
|
|
|
r'(:\d+)?'
|
|
|
|
|
r'(\/[-a-z\d%_.~+]*)*'
|
|
|
|
|
r'(\?[;&a-z\d%_.~+=-]*)?'
|
|
|
|
|
r'(\#[-a-z\d_]*)?$',
|
2024-07-02 08:08:31 +08:00
|
|
|
caseSensitive: false,
|
|
|
|
|
).hasMatch(this);
|
2024-04-30 23:38:49 +08:00
|
|
|
}
|
|
|
|
|
}
|