Flutter伊朗身份证号验证插件iranian_national_code的使用

发布于 1周前 作者 eggper 来自 Flutter

Flutter伊朗身份证号验证插件iranian_national_code的使用

一个用于验证国家代码并转换波斯数字为英文数字的库。

安装包

在你的 pubspec.yaml 文件中的 dependencies 下添加以下行:

dependencies:
  iranian_national_code: ^1.0.0

然后运行:

flutter pub get

使用

首先导入该库:

import 'package:iranian_national_code/iranian_national_code.dart';

现在可以在你的 Dart 代码中使用它了:

final result = '1234567890'.isValidNationalCode();
if (result) {
  // 国家代码有效
} else {
  // 国家代码无效
}

以下是验证国家代码的一些示例:

final result = '3974017844'.isValidNationalCode();
print(result); // true

final result = '7730942860'.isValidNationalCode();
print(result); // true

final result = '12345KjHiF67890'.isValidNationalCode();
print(result); // false

final result = ''.isValidNationalCode();
print(result); // false

final result = '123456789012345'.isValidNationalCode();
print(result); // false

final result = '12@4561;_345'.isValidNationalCode();
print(result); // false

将波斯/阿拉伯数字转换为英文数字:

final result = '۱۲۳۴۵۶۷۸۹۰'.convertPersianToEnglishNumbers();
print(result); // '1234567890'

final result = '۱۲۳۴Fg۵۶۷۸۹۰'.convertPersianToEnglishNumbers();
print(result); // '1234Fg567890'

final result = ''.convertPersianToEnglishNumbers();
print(result); // ''

通过此包还可以生成国家代码并验证其有效性:

final example1 = generateNationalCode();
print(example1); // 2365960464
print(example1.isValidNationalCode()); // true

final example2 = generateNationalCode();
print(example2); // 1168880971
print(example2.isValidNationalCode()); // true

也可以生成整数形式的国家代码并验证其有效性:

final example3 = generateRoundNationalCode();
print(example3); // 1000010104
print(example3.isValidNationalCode()); // true

final example4 = generateRoundNationalCode();
print(example4); // 3101001102
print(example4.isValidNationalCode()); // true

联系作者

联系人:Shervin Hassanzadeh

邮箱:shervin.hz07@gmail.com


下面是完整的示例代码:

import 'package:iranian_national_code/iranian_national_code.dart';

void main() {
  print('----- 验证国家代码 -----');
  print(''.isValidNationalCode());
  print('chert'.isValidNationalCode());
  print('7730942860'.isValidNationalCode());
  print('4922652949'.isValidNationalCode());
  print('9743011005'.isValidNationalCode());
  print('9379338031'.isValidNationalCode());
  print('3101111110'.isValidNationalCode());
  print('8760052430'.isValidNationalCode());
  print(''.isValidNationalCode());
  print('AlakiMalaki'.isValidNationalCode());
  print('87600#@_;52430'.isValidNationalCode());

  print('----- 将波斯/阿拉伯数字转换为英文数字 -----');
  print('۱۲۳۴۵۶۷۸۹۰'.convertPersianToEnglishNumbers());
  print('۱۲۳۴۵#۶۷۸۹۰'.convertPersianToEnglishNumbers());
  print('۱۲۳۴۵JHkhdui۶۷۸۹۰'.convertPersianToEnglishNumbers());
  print('۱۲34۵۶۷۸۹۰'.convertPersianToEnglishNumbers());

  print('----- 生成国家代码 -----');
  final example1 = generateNationalCode();
  print(example1);
  print(example1.isValidNationalCode());

  final example2 = generateNationalCode();
  print(example2);
  print(example2.isValidNationalCode());

  final example3 = generateNationalCode();
  print(example3);
  print(example3.isValidNationalCode());

  final example4 = generateNationalCode();
  print(example4);
  print(example4.isValidNationalCode());

  print('----- 生成整数形式的国家代码 -----');
  final example5 = generateRoundNationalCode();
  print(example5);
  print(example5.isValidNationalCode());

  final example6 = generateRoundNationalCode();
  print(example6);
  print(example6.isValidNationalCode());

  final example7 = generateRoundNationalCode();
  print(example7);
  print(example7.isValidNationalCode());

  final example8 = generateRoundNationalCode();
  print(example8);
  print(example8.isValidNationalCode());
}

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

1 回复

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


当然,以下是如何在Flutter项目中使用iranian_national_code插件来验证伊朗身份证号(伊朗国民编码)的示例代码。

首先,你需要在你的Flutter项目中添加iranian_national_code插件。在你的pubspec.yaml文件中添加以下依赖项:

dependencies:
  flutter:
    sdk: flutter
  iranian_national_code: ^最新版本号 # 请替换为实际最新版本号

然后,运行以下命令来安装依赖项:

flutter pub get

接下来,在你的Flutter应用中,你可以使用IranianNationalCodeValidator类来验证伊朗身份证号。以下是一个简单的示例,展示了如何在UI中集成并验证伊朗身份证号:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: NationalCodeScreen(),
    );
  }
}

class NationalCodeScreen extends StatefulWidget {
  @override
  _NationalCodeScreenState createState() => _NationalCodeScreenState();
}

class _NationalCodeScreenState extends State<NationalCodeScreen> {
  final TextEditingController _controller = TextEditingController();
  String? _validationMessage;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Iranian National Code Validator'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          children: <Widget>[
            TextField(
              controller: _controller,
              decoration: InputDecoration(
                labelText: 'Enter National Code',
                errorText: _validationMessage,
              ),
              keyboardType: TextInputType.number,
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: () {
                _validateNationalCode();
              },
              child: Text('Validate'),
            ),
          ],
        ),
      ),
    );
  }

  void _validateNationalCode() {
    final String nationalCode = _controller.text.trim();
    if (nationalCode.isEmpty || nationalCode.length != 10) {
      setState(() {
        _validationMessage = 'National Code must be 10 digits long.';
      });
      return;
    }

    final validator = IranianNationalCodeValidator();
    final result = validator.validate(nationalCode);

    if (result) {
      setState(() {
        _validationMessage = null;
        // Optionally, show a success message
        // _validationMessage = 'Valid National Code';
      });
    } else {
      setState(() {
        _validationMessage = 'Invalid National Code';
      });
    }
  }
}

在这个示例中,我们创建了一个简单的Flutter应用,其中包含一个文本字段用于输入伊朗身份证号,以及一个按钮用于触发验证。当用户在文本字段中输入10位数字并点击“Validate”按钮时,应用将使用IranianNationalCodeValidator类来验证输入的身份证号是否有效。

如果验证通过,_validationMessage将被设置为null(或可选地显示一个成功消息),否则将显示一个错误消息。

确保你已经正确安装了iranian_national_code插件,并且已经导入了所需的包。这样,你就可以在你的Flutter应用中轻松验证伊朗身份证号了。

回到顶部