RegexModel.phone constructor

RegexModel.phone({
  1. String? title,
})

Looks like a phone number: optional +, 7–15 digits, spaces, dashes, dots or parentheses.

Implementation

factory RegexModel.phone({String? title}) => RegexModel(
  title: title ?? RegexLabels.current.phone,
  test: (value) {
    if (!RegExp(r'^\+?[\d\s\-().]+$').hasMatch(value.trim())) {
      return false;
    }
    final digits = value.replaceAll(RegExp(r'\D'), '').length;
    return digits >= 7 && digits <= 15;
  },
);