Flutter验证码规则校验插件pin_code_rules_utils_juni1289的使用

Flutter验证码规则校验插件pin_code_rules_utils_juni1289的使用

一个用于验证PIN码或密码规则的Flutter插件。

特性

  • 可以轻松检查PIN码或密码是否包含所有相同的字符。
  • 可以轻松检查PIN码或密码是否为回文。

额外信息

  • 使用简便且易于管理。
  • 只需要提供相应的参数即可。

基本用法

_validatePassword(String givenPin, BuildContext context) {
    if (PinCodeRulesHelperUtil.instance.isPinCodeHasSameChars(pinCode: givenPin)) {
        debugPrint("该PIN码包含相同的字符!");
    } else if (PinCodeRulesHelperUtil.instance.isPinCodePalindrome(pinCode: givenPin)) {
        debugPrint("该PIN码是回文!");
    } else {
        debugPrint("该PIN码足够好 :)");
    }
}

// 规则1签名
bool isPinCodeHasSameChars({required String pinCode})

// 规则2签名
bool isPinCodePalindrome({required String pinCode})

完整示例代码

import 'package:flutter/material.dart';
import 'package:pin_code_rules_utils_juni1289/pin_code_rules_utils_juni1289.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  [@override](/user/override)
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("PIN测试")),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            TextButton(
              onPressed: () {
                _validatePassword("1111", context);
              },
              child: Center(child: Text('检查1111', style: Theme.of(context).textTheme.headlineMedium)),
            ),
            TextButton(
              onPressed: () {
                _validatePassword("1221", context);
              },
              child: Center(child: Text('检查1221', style: Theme.of(context).textTheme.headlineMedium)),
            ),
            TextButton(
              onPressed: () {
                _validatePassword("1234", context);
              },
              child: Center(child: Text('检查1234', style: Theme.of(context).textTheme.headlineMedium)),
            )
          ],
        ),
      ),
    );
  }

  _validatePassword(String givenPin, BuildContext context) {
    if (PinCodeRulesHelperUtil.instance.isPinCodeHasSameChars(pinCode: givenPin)) {
      debugPrint("该PIN码包含相同的字符!");
    } else if (PinCodeRulesHelperUtil.instance.isPinCodePalindrome(pinCode: givenPin)) {
      debugPrint("该PIN码是回文!");
    } else {
      debugPrint("该PIN码足够好 :)");
    }
  }
}

更多关于Flutter验证码规则校验插件pin_code_rules_utils_juni1289的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter验证码规则校验插件pin_code_rules_utils_juni1289的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


pin_code_rules_utils_juni1289 是一个用于 Flutter 的验证码规则校验插件,可以帮助开发者轻松地实现验证码的输入校验。以下是如何使用该插件的基本步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 pin_code_rules_utils_juni1289 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  pin_code_rules_utils_juni1289: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

2. 导入插件

在你的 Dart 文件中导入插件:

import 'package:pin_code_rules_utils_juni1289/pin_code_rules_utils_juni1289.dart';

3. 使用插件进行验证码校验

你可以使用 PinCodeRulesUtils 类提供的静态方法来校验验证码是否符合特定规则。以下是一些常用的校验方法:

3.1 校验验证码长度

bool isValidLength = PinCodeRulesUtils.isValidLength("1234", 4);
print(isValidLength); // true

3.2 校验验证码是否为数字

bool isNumeric = PinCodeRulesUtils.isNumeric("1234");
print(isNumeric); // true

3.3 校验验证码是否为字母

bool isAlphabetic = PinCodeRulesUtils.isAlphabetic("abcd");
print(isAlphabetic); // true

3.4 校验验证码是否为字母或数字

bool isAlphanumeric = PinCodeRulesUtils.isAlphanumeric("123abc");
print(isAlphanumeric); // true

3.5 校验验证码是否包含特定字符

bool containsCharacter = PinCodeRulesUtils.containsCharacter("123@abc", "@");
print(containsCharacter); // true

3.6 校验验证码是否不包含特定字符

bool notContainsCharacter = PinCodeRulesUtils.notContainsCharacter("123abc", "@");
print(notContainsCharacter); // true

4. 自定义规则校验

你还可以结合多个校验方法来创建自定义的验证码规则。例如:

bool isValidPinCode(String pinCode) {
  return PinCodeRulesUtils.isValidLength(pinCode, 6) &&
         PinCodeRulesUtils.isNumeric(pinCode) &&
         PinCodeRulesUtils.notContainsCharacter(pinCode, " ");
}

void main() {
  String pinCode = "123456";
  bool isValid = isValidPinCode(pinCode);
  print(isValid); // true
}

5. 处理错误信息

你可以在校验失败时返回自定义的错误信息:

String validatePinCode(String pinCode) {
  if (!PinCodeRulesUtils.isValidLength(pinCode, 6)) {
    return "验证码长度必须为6位";
  }
  if (!PinCodeRulesUtils.isNumeric(pinCode)) {
    return "验证码必须为数字";
  }
  if (PinCodeRulesUtils.containsCharacter(pinCode, " ")) {
    return "验证码不能包含空格";
  }
  return null; // 返回 null 表示校验通过
}

void main() {
  String pinCode = "123 45";
  String errorMessage = validatePinCode(pinCode);
  if (errorMessage != null) {
    print(errorMessage); // 验证码不能包含空格
  } else {
    print("验证码有效");
  }
}
回到顶部