localregex 3.0.2+1 copy "localregex: ^3.0.2+1" to clipboard
localregex: ^3.0.2+1 copied to clipboard

outdated

Collection of regex patterns commonly used in Zimbabwe. Regex patterns include mobile numbers, passports, vehicle license plates, driver's license, email addresses and passwords

LocalRegex #

This plugin allows developers to check if an input matches common regex patterns in Zimbabwe and other countries. This plugin works for all Flutter supported platforms i.e. Android, iOS, Web and Desktop (Linux, Windows & MacOS).

Developed by Ngonidzashe Mangudya.

Usage #

Add dependency #

dependencies:
  localregex: ^3.0.2+1

Or #

flutter pub add localregex

Import package #

  import 'package:localregex/localregex.dart';

Note that declaration and initialization is no longer necessary

Check if a mobile number matches patterns for Econet, Netone or Telecel numbers #

LocalRegex.isNetone('mobile_number');
LocalRegex.isEconet('mobile_number');
LocalRegex.isTelecel('mobile_number');

Check if a mobile number matches any of the patterns for Econet, Netone or Telecel #

LocalRegex.isValidZimMobile('mobile_number');
LocalRegex.isValidMobile('mobile_number');

Check if a supplied email matches proper email patterns #

localregex.isEmail('email_address');

Check if a supplied national id matches the pattern for Zimbabwean national id #

localregex.isValidZimID('national_id');

Check passport number #

localregex.isValidZimPassport('passport_number');

Check number plate #

localregex.isValidZimVehicleNumberPlate('number_plate');

Check driver's license #

localregex.isValidZimDriversLicence('drivers_license');

Check mobile number and returns mobile number in required format (for use with Zim numbers only) #

String? number = LocalRegex.formatNumber(
  value: '+263777213388',
  type: FormatTypes.regular,
);

Check if password is valid (minimum of 8 characters, at least 1 special character, 1 capital letter, 1 numeric character) #

LocalRegex.isValidPassword('your_password');

Mobile Number Format Types #

Regular #

This is the general format of mobile numbers e.g. 0777213388

FormatTypes.regular

Common #

This is the mobile number format with country code but no + sign e.g. 263777213388

FormatTypes.common

Common Plus #

This is the mobile number format with country code and + sign e.g. +263777213388

FormatTypes.commonPlus

PasswordTextFormField #

This a custom text form field that validates the password. It is recommended to use this field instead of the default text form field. It has the option to show which requirements have been met and which have not. The default password validation section can also be overwritten by supplying a function that returns a Widget.

Usage: #

PasswordTextFormField(
  controller: passwordController,
  overrideValidationRow: true,
  customValidationSection: customValidationSection,
  decoration: InputDecoration(
    border: InputBorder.none,
  ),
  autovalidateMode: AutovalidateMode.onUserInteraction,
  showValidationRow: true,
)

Override Custom Validation Section #

Supply a function that returns a Widget that will be displayed in the validation section.

Structure Of The Function

Widget customValidationSection({
  required bool hasEightCharacters,
  required bool hasCapitalLetter,
  required bool hasSmallCapsLetter,
  required bool hasADigit,
  required bool hasASpecialCharacter,
}) {
  return Container(
    height: 50,
    child: Row(
      mainAxisAlignment: MainAxisAlignment.spaceEvenly,
      children: [
        Row(
          children: [
            Text(
              "🔠",
              style: TextStyle(
                fontSize: 20,
              ),
            ),
            Text(
              hasCapitalLetter ? "✅" : "❌",
              style: TextStyle(
                fontSize: 20,
              ),
            ),
          ],
        ),
        Row(
          children: [
            Text(
              "🔡",
              style: TextStyle(
                fontSize: 20,
              ),
            ),
            Text(
              hasSmallCapsLetter ? "✅" : "❌",
              style: TextStyle(
                fontSize: 20,
              ),
            ),
          ],
        ),
        Row(
          children: [
            Text(
              "🔢",
              style: TextStyle(
                fontSize: 20,
              ),
            ),
            Text(
              hasADigit ? "✅" : "❌",
              style: TextStyle(
                fontSize: 20,
              ),
            ),
          ],
        ),
        Row(
          children: [
            Text(
              "🔣",
              style: TextStyle(
                fontSize: 20,
              ),
            ),
            Text(
              hasASpecialCharacter ? "✅" : "❌",
              style: TextStyle(
                fontSize: 20,
              ),
            ),
          ],
        ),
        Row(
          children: [
            Text(
              "8️⃣ chars",
              style: TextStyle(
                fontSize: 20,
              ),
            ),
            Text(
              hasCapitalLetter ? "✅" : "❌",
              style: TextStyle(
                fontSize: 20,
              ),
            ),
          ],
        ),
      ],
    ),
  );
}

Screenshot #

Default Using The Override Option
22
likes
0
pub points
73%
popularity

Publisher

verified publisheriamngoni.co.zw

Collection of regex patterns commonly used in Zimbabwe. Regex patterns include mobile numbers, passports, vehicle license plates, driver's license, email addresses and passwords

Homepage

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on localregex