54 lines
1.3 KiB
Dart
54 lines
1.3 KiB
Dart
final emailRegExp = RegExp(r"^[a-zA-Z0-9.]+@[a-zA-Z0-9]+\.[a-zA-Z]+");
|
|
final nameRegExp = RegExp(r"^[a-zA-ZäöüÄÖÜß]+(?:[-\s][a-zA-ZäöüÄÖÜß]+)?$");
|
|
final phoneRegExp = RegExp(r"^(?:\+49|0)[1-9][0-9\s\-\/]*$");
|
|
final streetRegExp = RegExp(r"^[a-zA-ZäöüÄÖÜß\s\-\d]+$");
|
|
final houseNumberRegExp = RegExp(r"^[0-9]+$");
|
|
final zipRegExp = RegExp(r"^\d{5}$");
|
|
final cityRegExp = RegExp(r"^[a-zA-ZäöüÄÖÜß\s\-\.,]+$");
|
|
final passwordRegExp = RegExp(
|
|
r'^(?=.*[a-zäöü])(?=.*[A-ZÄÖÜ])(?=.*\d)(?=.*[@$!%*?&])[A-Za-zäöüÄÖÜ\d@$!%*?&]{8,}$');
|
|
|
|
extension valString on String {
|
|
bool get isValidEmail {
|
|
return emailRegExp.hasMatch(this);
|
|
}
|
|
|
|
bool get isValidName {
|
|
return nameRegExp.hasMatch(this);
|
|
}
|
|
|
|
bool get isValidStreetAddress {
|
|
return streetRegExp.hasMatch(this);
|
|
}
|
|
|
|
bool get isValidHouseNumber {
|
|
return houseNumberRegExp.hasMatch(this);
|
|
}
|
|
|
|
bool get isValidZip {
|
|
return zipRegExp.hasMatch(this);
|
|
}
|
|
|
|
bool get isValidCity {
|
|
return cityRegExp.hasMatch(this);
|
|
}
|
|
|
|
bool get isValidPassword {
|
|
return passwordRegExp.hasMatch(this);
|
|
}
|
|
|
|
bool get isNotEmpty {
|
|
return this != trim();
|
|
}
|
|
|
|
bool get isValidPhone {
|
|
return phoneRegExp.hasMatch(this);
|
|
}
|
|
|
|
String get titleCase {
|
|
return split(' ')
|
|
.map((str) => str[0].toUpperCase() + str.substring(1))
|
|
.join(' ');
|
|
}
|
|
}
|