- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
有谁知道可以在 flutter 项目中使用的 API 或包,可以让我检查驾照号码是否有效?如果有影响的话,我正在使用美国驾照。
最佳答案
似乎还没有插件,但由于它可以在大多数语言中以完全相同的方式完成,所以它已经完成了。看看:https://stackoverflow.com/a/29835561/6696558 .
在 Dart 中它会是这样的:
class DriverLicenseValidator {
// From http://www.uiia.org/documents/license_guidelines_08.pdf
static final oneToSevenNumeric = RegExp(r'^[0-9]{1,7}$');
static final oneAlpha = RegExp(r'(.*[A-Za-z]){1}');
static final oneAlphaPlusSeven = RegExp(r'^.[0-9]{7}$');
static final twoAlpha = RegExp(r'(.*[A-Za-z]){2}');
static final alphaPlusSixNumeric = RegExp(r'(.*[0-9]){6}$');
static final threeToFiveNumeric = RegExp(r'(.*[0-9]){3,5}$');
static final fiveToNineNumeric = RegExp(r'(.*[0-9]){5,9}');
static final sixNumeric = RegExp(r'^[0-9]{6}$');
static final sevenNumeric = RegExp(r'^[0-9]{7}$');
static final sevenToNineNumeric = RegExp(r'^[0-9]{7,9}$');
static final eightAreNumbers = RegExp(r'(.*[0-9]){8}');
static final nineNumeric = RegExp(r'^[0-9]{9}$');
static final nineAlphaChars = RegExp(r'^[A-Za-z0-9]{9}$');
static final tenNumeric = RegExp(r'^[0-9]{10}$');
static final elevenNumeric = RegExp(r'^.[0-9]{11}$');
static final twelveNumeric = RegExp(r'^.[0-9]{12}$');
static final hPlusEight = RegExp(r'([H][0-9]{8})$');
static final sevenPlusX = RegExp(r'([H][0-9]{7}X)$');
/// If there's no error, returns an empty [String]
/// If there's an error, returns an error [String]
static String checkForError(String stateCode, String licenseNumber) {
if (stateCode == null || licenseNumber == null) {
return "";
}
if (stateCode == 'AK') {
return _validateExpression(oneToSevenNumeric, licenseNumber, "Must be 1-7 numeric");
}
if (stateCode == 'AL') {
return _validateExpression(sevenNumeric, licenseNumber, "Must be 7 numeric");
}
if (stateCode == 'AR' || stateCode == 'MS') {
return _validateExpression(nineNumeric, licenseNumber, "Must be 9 numeric");
}
if (stateCode == 'AZ') {
if (nineNumeric.hasMatch(licenseNumber)) {
return "";
}
if (oneAlpha.hasMatch(licenseNumber) && eightAreNumbers.hasMatch(licenseNumber)) {
return "";
}
if (twoAlpha.hasMatch(licenseNumber) &&
threeToFiveNumeric.hasMatch(licenseNumber) &&
licenseNumber.length < 8) {
return "";
}
return "Must be 1 Alphabetic, 8 Numeric; or 2 Alphabetic, 3-6 Numeric; or 9 Numeric";
}
if (stateCode == 'CA') {
if (oneAlpha.hasMatch(licenseNumber) && oneAlphaPlusSeven.hasMatch(licenseNumber)) {
return "";
}
return "Must be 1 alpha and 7 numeric";
}
if (stateCode == 'CO' || stateCode == 'CN' || stateCode == 'CT') {
return _validateExpression(nineNumeric, licenseNumber, "Must be 9 numeric");
}
if (stateCode == 'DC') {
if (sevenNumeric.hasMatch(licenseNumber) || nineNumeric.hasMatch(licenseNumber)) {
return "";
}
return "Must be 7 - 9 numeric";
}
if (stateCode == 'DE') {
if (oneToSevenNumeric.hasMatch(licenseNumber)) {
return "";
}
return "Must be 1 - 7 numeric";
}
if (stateCode == 'FL') {
if (oneAlpha.hasMatch(licenseNumber) && twelveNumeric.hasMatch(licenseNumber)) {
return "";
}
return "Must be 1 alpha, 12 numeric";
}
if (stateCode == 'GA') {
if (sevenToNineNumeric.hasMatch(licenseNumber)) {
return "";
}
return "Must be 7 - 9 numeric";
}
if (stateCode == 'HI') {
if (nineNumeric.hasMatch(licenseNumber) || hPlusEight.hasMatch(licenseNumber)) {
return "";
}
return "Must 'H' + 8 numeric; 9 numeric";
}
if (stateCode == 'ID') {
if (nineNumeric.hasMatch(licenseNumber) ||
sixNumeric.hasMatch(licenseNumber) ||
(twoAlpha.hasMatch(licenseNumber) && alphaPlusSixNumeric.hasMatch(licenseNumber))) {
return "";
}
return "Must 9 numbers or 6 numbers; or 2 char, 6 numbers ";
}
if (stateCode == 'IL') {
if (oneAlpha.hasMatch(licenseNumber) && elevenNumeric.hasMatch(licenseNumber)) {
return "";
}
return "Must 1 character 11 numbers";
}
if (stateCode == 'IN') {
if (tenNumeric.hasMatch(licenseNumber) || nineNumeric.hasMatch(licenseNumber)) {
return "";
}
return "Must be 9-10 numbers";
}
if (stateCode == 'IA') {
if (nineAlphaChars.hasMatch(licenseNumber) || nineNumeric.hasMatch(licenseNumber)) {
return "";
}
return "Must be 9 alpha numbers";
}
if (stateCode == 'KS' || stateCode == 'KY') {
if (nineNumeric.hasMatch(licenseNumber) ||
(oneAlpha.hasMatch(licenseNumber) &&
eightAreNumbers.hasMatch(licenseNumber) &&
licenseNumber.length == 9)) {
return "";
}
return "Must be 1 alpha and 8 numeric";
}
if (stateCode == 'LA') {
if (nineNumeric.hasMatch(licenseNumber) == true) {
return "";
}
return "Must be 9 numeric";
}
if (stateCode == 'ME') {
if (sevenNumeric.hasMatch(licenseNumber) || sevenPlusX.hasMatch(licenseNumber)) {
return "";
}
return "Must be 7 numeric";
}
if (stateCode == 'MD' || stateCode == 'MI' || stateCode == 'MN') {
if (oneAlpha.hasMatch(licenseNumber) && twelveNumeric.hasMatch(licenseNumber)) {
return "";
}
return "1 Alphabetic, 12 Numeric";
}
if (stateCode == 'MA') {
if ((oneAlpha.hasMatch(licenseNumber) &&
eightAreNumbers.hasMatch(licenseNumber) &&
licenseNumber.length == 9) ||
nineNumeric.hasMatch(licenseNumber)) {
return "";
}
return "Must be 1 alpha, 8 numeric; 9 numeric";
}
if (stateCode == 'MO') {
if ((oneAlpha.hasMatch(licenseNumber) &&
fiveToNineNumeric.hasMatch(licenseNumber) &&
licenseNumber.length < 11) ||
nineNumeric.hasMatch(licenseNumber)) {
return "";
}
return "1 alpha - 5-9 Numeric or 9 numeric";
}
return "Invalid state code";
}
static String _validateExpression(RegExp expression, String value, String error) =>
expression.hasMatch(value) ? "" : error;
}
关于dart - Flutter/Dart 中的驾照验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55995832/
我有一个相当冗长的命令行程序,它需要用户输入参数,然后使用这些参数进行处理。我想做的是将程序拆分为交互式和非交互式。我试图这样做,并打算让非交互式程序“调用”交互式程序并使用结果(参数),基于这些参数
谁能解释为什么我们在构造函数的参数中使用大括号。 class Cars { String carName; bool isAuto; // create the constructor
我想知道是否有Dart函数,例如PHP的 strrev()。如果没有,您能否请向我展示任何源代码如何自行实现? 谢谢。 最佳答案 我还没有在API中找到一个新的Dart用户(截至今天下午)。但是,以任
我有一个组件,我想根据一个 bool 值绑定(bind)一个不同的 css 类。我的组件代码中有以下内容: bindCssClass(div, "open", this, "task.isOpen")
我一直在研究如何在dart中播放.wav文件,并且已经能够通过dart:html库中定义的AudioElement成功完成此操作。但是,我对使用dart:web_audio库感兴趣,并且遇到了所有这些
Dart 是否旨在实现许多与 Haxe 相同的功能,以便能够针对其他语言和运行时?它是语言和工具的既定目标还是已知目标? 最佳答案 不。Dart 专门针对 web 应用程序开发(更具体地说,客户端 w
我正在尝试让 dart 正常工作。作为编辑器,我想使用 emacs dart-mode。我有两个关于在没有 dart 编辑器的情况下使用 dart 的问题: 1) 我是否需要手动调用 dart2js,
我正在使用列表来创建墨水瓶按钮。我想将列表放在一个单独的 dart 文件中,并将该文件导入到我使用列表的文件中。我不知道如何导入列表。 https://pastebin.com/mf0kvsGu 我制
我正在编写一个 flutter 应用程序,它通过蓝牙 (FlutterBlue) 向设备发送命令。该设备控制一些 LED。通信总体上运行良好,但是:在用户界面上,我有一个控制光强度的 slider 。
我正在使用来自 Get started: command-line and server apps | Dart 的说明.运行 dart --version 时,我得到: Dart VM versio
var c 返回 3 但 10/7=1.4285,其余为 0.4285,operator % 有错误? void main() { var a = 10; var b = 7; var c
如文档中所述: The const keyword isn’t just for declaring constant variables. You can also use it to create
在 Dart 中,我如何最好地编写相当于(不可变/值/非对象) 的代码输出或引用参数 ? 例如在 C#-ish 中,我可能会编码: function void example() { int re
Dart 支持的多重继承机制有哪些? 最佳答案 不,Dart 不支持多重实现继承。 Dart 具有接口(interface),并且与大多数其他类似语言一样,它具有多个接口(interface)继承。
我正在寻找有关如何制作可以采用位置子参数的 web 组件的资源。就像是: {{value}} // this could be any uneditable element {{value}
使用polymer.dart 的Dart 应用程序的pubspec.yaml 文件如下所示(来自Polymer.dart Code Lab): name: polymer_and_dart descr
今天我决定开始学习 Dart 语言,我从 Tour 开始,那里有一个例子: // These work in a const string. const aConstNum = 0; const aC
我正在查找字符串类和其他一些资源,试图了解如何格式化字符串。首先,我试图将数字填充到字符串中,但不是精度。 例子: int a = 0, b = 5, c = 15, d = 46; String
我知道的大部分是Javascript。我相信“列表”是 Dart 最接近数组的东西,但它们在技术上是一样的吗?将它们视为数组是错误的吗?同样, map 会被视为对象吗?我意识到可能存在差异,但进行这种
现在,白色背景刺痛了我的眼睛,因为这是一个looong的黑夜。是否可以从 Dart 编辑器 (v 0.1) 更改主题(更改为更暗的主题)?选择背景颜色和语法高亮怎么样? 最佳答案 是的,这是可能的,我
我是一名优秀的程序员,十分优秀!