Flutter巴西公司注册号验证插件cpf_cnpj_validator的使用

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

Flutter巴西公司注册号验证插件cpf_cnpj_validator的使用

CPF/CNPJ Validator

这是一个用于验证来自巴西的CPF(个人税号)和CNPJ(公司税号)号码的Flutter插件。

pub package

安装 Installation

在您的pubspec.yaml文件中添加以下内容:

dependencies:
  cpf_cnpj_validator: ^2.0.0

使用 CPF Usage CPF

验证 CPF 号码 Validating CPF Numbers

import 'package:cpf_cnpj_validator/cpf_validator.dart';

// 验证格式化或未格式化的CPF号码
print(CPFValidator.isValid("334.616.710-02")); // true
print(CPFValidator.isValid("334.616.710-01")); // false
print(CPFValidator.isValid("35999906032")); // true
print(CPFValidator.isValid("35999906031")); // false
print(CPFValidator.isValid("033461671002")); // false

// 如果您不希望验证方法去除值中的符号,请在第二个参数中使用false
print(CPFValidator.isValid("334.616.710-02", false)); // false
print(CPFValidator.isValid("35999906032@mail", false)); // false

// 其他实用方法 Other utility methods
print(CPFValidator.format("33461671002")); // Result: 334.616.710-02
print(CPFValidator.strip("334.616.710-02")); // Result: 33461671002

// 生成一个未格式化的CPF号码 Generate a raw CPF number
print(CPFValidator.generate()); // Result: e.g., 33461671002

// 生成一个已格式化的CPF号码 Generate a formatted CPF number
print(CPFValidator.generate(true)); // Result: e.g., 334.616.710-02 

使用 CNPJ Usage CNPJ

验证 CNPJ 号码 Validating CNPJ Numbers

import 'package:cpf_cnpj_validator/cnpj_validator.dart';

// 验证格式化或未格式化的CNPJ号码
print(CNPJValidator.isValid("12.175.094/0001-19")); // true
print(CNPJValidator.isValid("12.175.094/0001-18")); // false
print(CNPJValidator.isValid("17942159000128")); // true
print(CNPJValidator.isValid("17942159000127")); // false
print(CNPJValidator.isValid("017942159000128")); // false

// 如果您不希望验证方法去除值中的符号,请在第二个参数中使用false
print(CNPJValidator.isValid("12.175.094/0001-19", false)); // false
print(CNPJValidator.isValid("17942159000128@mail", false)); // false

// 其他实用方法 Other utility methods
print(CNPJValidator.format("85137090000110")); // Result: 85.137.090/0001-10
print(CNPJValidator.strip("85.137.090/0001-10")); // Result: 85137090000110

// 生成一个未格式化的CNPJ号码 Generate a raw CNPJ number
print(CNPJValidator.generate()); // Result: e.g., 85137090000110

// 生成一个已格式化的CNPJ号码 Generate a formatted CNPJ number
print(CNPJValidator.generate(true)); // Result: e.g., 85.137.090/0001-10 

示例代码 Example Code

下面是一个完整的示例,展示了如何在一个简单的Flutter应用程序中使用cpf_cnpj_validator插件来验证CPF和CNPJ号码。

import 'package:flutter/material.dart';
import 'package:cpf_cnpj_validator/cpf_validator.dart';
import 'package:cpf_cnpj_validator/cnpj_validator.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            Text("CPF is valid: ${CPFValidator.isValid("334.616.710-02")}"),
            Text("CNPJ is valid: ${CNPJValidator.isValid("12.175.094/0001-19")}"),
          ],
        ),
      ),
    );
  }
}

这个例子创建了一个包含两个文本组件的应用程序,分别显示给定CPF和CNPJ号码的有效性。通过这种方式,您可以轻松地将cpf_cnpj_validator集成到您的Flutter项目中,并根据需要进行扩展以适应更复杂的应用场景。


更多关于Flutter巴西公司注册号验证插件cpf_cnpj_validator的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter巴西公司注册号验证插件cpf_cnpj_validator的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用cpf_cnpj_validator插件来验证巴西公司注册号(CNPJ)和巴西个人纳税人识别号(CPF)的代码示例。

首先,确保你已经在你的Flutter项目中添加了cpf_cnpj_validator插件。你可以通过在你的pubspec.yaml文件中添加以下依赖项来实现:

dependencies:
  flutter:
    sdk: flutter
  cpf_cnpj_validator: ^x.y.z  # 请使用最新版本号

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

接下来,在你的Flutter项目中,你可以按照以下步骤来使用这个插件:

  1. 导入插件

在你的Dart文件中(例如main.dart),导入cpf_cnpj_validator插件:

import 'package:cpf_cnpj_validator/cpf_cnpj_validator.dart';
  1. 验证CPF
void validateCPF(String cpf) {
  bool isValid = CPFValidator.isValid(cpf);
  if (isValid) {
    print("CPF is valid.");
  } else {
    print("CPF is invalid.");
  }
}
  1. 验证CNPJ
void validateCNPJ(String cnpj) {
  bool isValid = CNPJValidator.isValid(cnpj);
  if (isValid) {
    print("CNPJ is valid.");
  } else {
    print("CNPJ is invalid.");
  }
}
  1. 在UI中使用

你可以将验证逻辑与UI组件(如TextFormField和Button)结合起来,以便用户可以输入并验证他们的CPF或CNPJ。

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('CPF and CNPJ Validator'),
        ),
        body: Padding(
          padding: const EdgeInsets.all(16.0),
          child: Column(
            children: [
              TextField(
                decoration: InputDecoration(labelText: 'CPF'),
                keyboardType: TextInputType.number,
                onChanged: (value) {
                  validateCPF(value);
                },
              ),
              SizedBox(height: 16),
              TextField(
                decoration: InputDecoration(labelText: 'CNPJ'),
                keyboardType: TextInputType.number,
                onChanged: (value) {
                  validateCNPJ(value);
                },
              ),
            ],
          ),
        ),
      ),
    );
  }

  void validateCPF(String cpf) {
    bool isValid = CPFValidator.isValid(cpf);
    print("CPF is ${isValid ? 'valid' : 'invalid'}.");
    // 你可以在这里更新UI,例如显示一个Snackbar
  }

  void validateCNPJ(String cnpj) {
    bool isValid = CNPJValidator.isValid(cnpj);
    print("CNPJ is ${isValid ? 'valid' : 'invalid'}.");
    // 你可以在这里更新UI,例如显示一个Snackbar
  }
}

在这个示例中,每当用户在TextField中输入CPF或CNPJ时,都会调用相应的验证函数。然而,在实际应用中,你可能希望在用户提交表单时才进行验证,并通过UI(如Snackbar)向用户显示验证结果。

请注意,上面的代码示例中,validateCPFvalidateCNPJ函数只是简单地将验证结果打印到控制台。在实际应用中,你可能希望将这些函数与UI更新逻辑结合起来,以便向用户显示验证结果。

回到顶部