Flutter香港身份证号码验证插件hkid_validator的使用

Flutter香港身份证号码验证插件hkid_validator的使用

HKID Validator库

HKID Validator库支持香港身份证号码验证和生成八位或九位有效香港身份证号码。

DockerCI ForkCI GitHubPageCICD GithubPacakgesCI pages-build-deployment

支持平台

Android iOS Linux macOS Web Windows
支持 Any Any Any Any Any Any

使用方法

要使用此插件,在你的pubspec.yaml文件中添加hkid_validator作为依赖项。

dependencies:
  hkid_validator: ^1.0.0

然后运行flutter pub get以获取依赖项。

示例

以下是一些示例代码,展示了如何使用HKIDValidator。

验证香港身份证号码

// 获取HKIDValidator实例。
final hkidValidator = HKIDValidator();

// 检查香港身份证号码是否有效。香港身份证号为U443902,特定字符为0。
bool isIdValid = HKIDValidator().isHKIDValid('U443902', '0');

生成香港身份证号码

// 生成随机有效的香港身份证号码(八位或九位)。
String hkid = HKIDValidator().genRanValidHKID(isEight: true);

// 生成有效的香港身份证号码(八位数字)。
String hkid = HKIDValidator().genValidHKID(isEight: true);

// 生成有效的香港身份证号码(九位数字)。
String hkid = HKIDValidator().genValidHKID(isEight: false);

在香港身份证号码末尾添加括号

String hkid = hkid.withPARES();

HKID Validator Demo

该HKID验证器Web应用的UI灵感来自icelam。这是一个用于展示Flutter在Web开发中的强大功能及使用的包hkid_validator的演示。

你可以查看此处的完整示例代码。

示例代码

以下是main.dart的完整示例代码:

import 'package:flutter/material.dart';
import 'package:hkid_validator_web_demo/app.dart';
import 'package:hkid_validator_web_demo/ser/app_ser.dart';
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
import 'package:hkid_validator_web_demo/ser/env_ser.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  setUrlStrategy(PathUrlStrategy());

  // 获取环境变量,默认值为生产环境。
  const String env = String.fromEnvironment(
    'ENV',
    defaultValue: EnvSer.prod,
  );

  // 初始化应用程序服务。
  await AppSer().init(env: env);

  // 运行应用。
  runApp(
    App(
      key: UniqueKey(),
      localeSer: AppSer().localeSer(),
    ),
  );
}

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

1 回复

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


hkid_validator 是一个用于验证香港身份证号码(HKID)的 Flutter 插件。它可以帮助开发者轻松地验证用户输入的香港身份证号码是否符合规范。

安装插件

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

dependencies:
  flutter:
    sdk: flutter
  hkid_validator: ^1.0.0  # 请检查最新版本

然后运行 flutter pub get 来安装插件。

使用示例

以下是如何在 Flutter 应用中使用 hkid_validator 插件来验证香港身份证号码的示例:

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'HKID Validator Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: HKIDValidationPage(),
    );
  }
}

class HKIDValidationPage extends StatefulWidget {
  [@override](/user/override)
  _HKIDValidationPageState createState() => _HKIDValidationPageState();
}

class _HKIDValidationPageState extends State<HKIDValidationPage> {
  final TextEditingController _hkidController = TextEditingController();
  String _validationResult = '';

  void _validateHKID() {
    String hkid = _hkidController.text;
    bool isValid = HKIDValidator.validate(hkid);

    setState(() {
      _validationResult = isValid ? 'Valid HKID' : 'Invalid HKID';
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('HKID Validator'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          children: [
            TextField(
              controller: _hkidController,
              decoration: InputDecoration(
                labelText: 'Enter HKID',
                hintText: 'e.g., A123456(7)',
              ),
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: _validateHKID,
              child: Text('Validate HKID'),
            ),
            SizedBox(height: 20),
            Text(
              _validationResult,
              style: TextStyle(
                fontSize: 18,
                color: _validationResult == 'Valid HKID' ? Colors.green : Colors.red,
              ),
            ),
          ],
        ),
      ),
    );
  }
}
回到顶部