Flutter伊朗身份证号验证插件iranian_national_code的使用
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
更多关于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应用中轻松验证伊朗身份证号了。