Flutter身份证号码验证插件pesel_validator的使用

Flutter身份证号码验证插件pesel_validator的使用

Pub package style: very_good_analysis License: MIT

功能

  • 验证给定的PESEL号码是否有效
  • 从PESEL号码中提取性别
  • 从PESEL号码中提取出生日期
  • 从PESEL号码中计算年龄

安装 💻

注意

为了开始使用Pesel Validator,必须在您的机器上安装Dart SDK

在您的pubspec.yaml文件中添加pesel_validator

dependencies:
  pesel_validator: 0.1.0

安装它:

dart pub get

示例

查看example/example.dart

import 'package:pesel_validator/pesel_validator.dart';

void main() {
  const validPesel = '92071314764'; // 有效的PESEL号码
  const invalidPesel = '00000000000'; // 无效的PESEL号码

  // 验证PESEL号码
  validatePesel(pesel: validPesel); // true
  validatePesel(pesel: invalidPesel); // false

  // 从PESEL号码中提取性别
  sexFromPesel(pesel: validPesel); // Sex.woman
  // sexFromPesel(pesel: invalidPesel); // 抛出InvalidPeselException

  // 从PESEL号码中提取出生日期
  dateOfBirthFromPesel(pesel: validPesel); // DateTime (13.07.1992)
  // dateOfBirthFromPesel(pesel: invalidPesel); // 抛出InvalidPeselException

  // 从PESEL号码中计算年龄
  ageFromPesel(pesel: validPesel); // int 年龄值
  // ageFromPesel(pesel: invalidPesel); // 抛出InvalidPeselException
}

示例代码

import 'package:pesel_validator/pesel_validator.dart';

void main() {
  const validPesel = '92071314764'; // 有效的PESEL号码
  const invalidPesel = '00000000000'; // 无效的PESEL号码

  // 验证PESEL号码
  validatePesel(pesel: validPesel); // true
  validatePesel(pesel: invalidPesel); // false

  // 从PESEL号码中提取性别
  sexFromPesel(pesel: validPesel); // Sex.woman
  // sexFromPesel(pesel: invalidPesel); // 抛出InvalidPeselException

  // 从PESEL号码中提取出生日期
  dateOfBirthFromPesel(pesel: validPesel); // DateTime (13.07.1992)
  // dateOfBirthFromPesel(pesel: invalidPesel); // 抛出InvalidPeselException

  // 从PESEL号码中计算年龄
  ageFromPesel(pesel: validPesel); // int 年龄值
  // ageFromPesel(pesel: invalidPesel); // 抛出InvalidPeselException
}

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

1 回复

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


当然,以下是如何在Flutter项目中使用pesel_validator插件来验证波兰身份证号码(PESEL)的示例代码。pesel_validator是一个用于验证波兰身份证号码(PESEL number)的Flutter插件。

步骤 1:添加依赖

首先,在你的pubspec.yaml文件中添加pesel_validator依赖:

dependencies:
  flutter:
    sdk: flutter
  pesel_validator: ^最新版本号  # 请替换为实际可用的最新版本号

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

步骤 2:导入插件

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

import 'package:pesel_validator/pesel_validator.dart';

步骤 3:使用插件进行验证

以下是一个简单的示例,展示如何使用pesel_validator插件来验证一个PESEL号码:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'PESEL Validator Demo',
      home: Scaffold(
        appBar: AppBar(
          title: Text('PESEL Validator Demo'),
        ),
        body: Center(
          child: PESELValidationForm(),
        ),
      ),
    );
  }
}

class PESELValidationForm extends StatefulWidget {
  @override
  _PESELValidationFormState createState() => _PESELValidationFormState();
}

class _PESELValidationFormState extends State<PESELValidationForm> {
  final _formKey = GlobalKey<FormState>();
  String _pesel = '';
  String _validationResult = '';

  void _validatePESEL() {
    if (_formKey.currentState!.validate()) {
      _formKey.currentState!.save();

      bool isValid = PeselValidator.isValid(_pesel);
      setState(() {
        _validationResult = isValid ? 'Valid PESEL' : 'Invalid PESEL';
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Form(
      key: _formKey,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          TextFormField(
            decoration: InputDecoration(labelText: 'Enter PESEL'),
            validator: (value) {
              if (value == null || value.isEmpty || value.length != 11) {
                return 'PESEL must be 11 digits long.';
              }
              return null;
            },
            onSaved: (value) {
              _pesel = value!;
            },
          ),
          SizedBox(height: 20),
          ElevatedButton(
            onPressed: _validatePESEL,
            child: Text('Validate PESEL'),
          ),
          SizedBox(height: 20),
          Text(
            _validationResult,
            style: TextStyle(fontSize: 18, color: Colors.redAccent),
          ),
        ],
      ),
    );
  }
}

解释

  1. 添加依赖:在pubspec.yaml文件中添加pesel_validator依赖。
  2. 导入插件:在Dart文件中导入pesel_validator
  3. 构建UI:使用FormTextFormField创建一个简单的表单,用户可以输入PESEL号码。
  4. 验证逻辑:在_validatePESEL方法中,首先调用_formKey.currentState!.validate()来验证表单字段。如果验证通过,则调用PeselValidator.isValid(_pesel)来验证PESEL号码的有效性,并更新UI显示验证结果。

这个示例展示了如何使用pesel_validator插件在Flutter应用中验证波兰身份证号码(PESEL)。你可以根据需要进行进一步的定制和扩展。

回到顶部