Flutter TCID验证插件tcid_checker的使用
Flutter TCID验证插件tcid_checker的使用
特点
- 根据规则确定给定的TC ID是否正确。
- 如果正确,可以使用在线验证函数。
- 生成有效的随机TC ID。
工作原理
- 前10位数字之和的个位数即为第11位数字。
- 7倍的第1、3、5、7、9位数字之和加上9倍的第2、4、6、8位数字之和的个位数即为第10位数字。
- 8倍的第1、3、5、7、9位数字之和的个位数即为第11位数字。
- 使用土耳其共和国公民事务总局提供的Web API内置控制ID函数进行验证。
- 需要时生成有效的随机TC ID。
使用方法
-
在你的
pubspec.yaml
文件中添加以下依赖:dependencies: tcid_checker: ^2.0.9
-
保存
pubspec.yaml
文件。或者在终端中运行以下命令:pub get
对于Flutter项目:
flutter pub get
-
在代码文件中导入插件:
import 'package:tcid_checker/tcid_checker.dart';
示例代码
import 'package:logbox_color/extensions.dart';
import 'package:tcid_checker/tcid_checker.dart';
void main(List<String> args) async {
// 控制ID验证 -- true
bool r1 = controlID("08392566548", true, true, LogLevel.debug);
// 控制ID验证 -- false
bool r6 = controlID("02345678982", false, true, LogLevel.verbose);
// 生成有效的随机TC ID
String? r2 = generateID(false, false, LogLevel.info);
// 返回格式化的随机TC ID
String? r8 = generateID(false, true, LogLevel.warning);
// 返回格式化的随机TC ID
String? r7 = generateID(true, true, LogLevel.warning);
// 返回以0开头的有效随机TC ID
String? r9 = generateID(true, false, LogLevel.warning);
// 从WEB API验证TC ID -- false
bool r3 = await validateID("11111111111", "ali", "veli", 1900, false, LogLevel.info);
// 从WEB API验证外国TC ID -- false
bool r4 = await validateForeignID("11111111111", "jack", "delay", 1, 1, 1900, false, LogLevel.info);
// 从WEB API验证人和卡ID -- false
bool r5 = await validatePersonAndCard("11111111111", "ali", "veli", false, 1, false, 1, false, 1900, 'a15', 796544, 'y02n45764', false, LogLevel.verbose);
// 打印结果
// print(r1);
// print(r2);
// print(r3);
// print(r4);
// print(r5);
// print(r6);
// print(r7);
// print(r8);
// print(r9);
}
更多关于Flutter TCID验证插件tcid_checker的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter TCID验证插件tcid_checker的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中集成并使用tcid_checker
插件进行TCID验证的代码示例。请注意,tcid_checker
插件可能是一个假设的插件名称,因为在Flutter的官方插件库中并没有直接找到这个插件。不过,我可以提供一个通用的Flutter插件集成和使用案例,你可以根据实际的插件文档进行调整。
步骤 1: 添加依赖
首先,你需要在pubspec.yaml
文件中添加tcid_checker
插件的依赖。假设插件在pub.dev上是可用的,你的pubspec.yaml
应该包含如下内容:
dependencies:
flutter:
sdk: flutter
tcid_checker: ^x.y.z # 替换为实际的版本号
然后,运行flutter pub get
来安装依赖。
步骤 2: 导入插件
在你的Dart文件中(比如main.dart
),导入插件:
import 'package:tcid_checker/tcid_checker.dart';
步骤 3: 使用插件
以下是一个简单的示例,展示了如何使用tcid_checker
插件来验证TCID。由于具体的API和方法可能会根据插件的实现有所不同,以下代码是基于假设的API。请查阅插件的官方文档以获取准确的API信息。
import 'package:flutter/material.dart';
import 'package:tcid_checker/tcid_checker.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('TCID Checker Demo'),
),
body: Center(
child: TcidCheckerWidget(),
),
),
);
}
}
class TcidCheckerWidget extends StatefulWidget {
@override
_TcidCheckerWidgetState createState() => _TcidCheckerWidgetState();
}
class _TcidCheckerWidgetState extends State<TcidCheckerWidget> {
String result = '';
void checkTCID(String tcid) async {
try {
bool isValid = await TcidChecker.validateTCID(tcid);
setState(() {
result = isValid ? 'TCID is valid' : 'TCID is invalid';
});
} catch (e) {
setState(() {
result = 'Error validating TCID: ${e.message}';
});
}
}
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
TextField(
decoration: InputDecoration(labelText: 'Enter TCID'),
onEditingComplete: () {
// 假设用户输入完成后触发验证
final tcidController = TextEditingController.fromTextEditingValue(
_textFieldKey.currentState?.textEditingController?.value ?? TextEditingValue()
);
checkTCID(tcidController.text);
},
textInputAction: TextInputAction.done,
key: _textFieldKey, // 需要定义一个GlobalKey<FormFieldState<String>>类型的_textFieldKey
),
SizedBox(height: 20),
Text(result),
],
);
}
}
// 注意:这里_textFieldKey的定义需要在实际代码中添加,例如:
// final GlobalKey<FormFieldState<String>> _textFieldKey = GlobalKey();
// 但由于这里的示例简单,并未实际使用Form和FormField,所以上面的onEditingComplete方法需要根据你的实际需求调整。
// 在实际项目中,你可能需要使用一个按钮来触发checkTCID函数。
注意事项
- 插件文档:务必查阅
tcid_checker
插件的官方文档,了解具体的API和使用方法。 - 错误处理:在实际项目中,需要更完善的错误处理机制。
- UI设计:根据实际需求调整UI设计,使其更加友好和直观。
由于tcid_checker
插件可能是一个假设的插件,上述代码中的API和方法可能需要根据实际情况进行调整。希望这个示例能够帮助你理解如何在Flutter项目中集成和使用一个假设的插件进行TCID验证。