我需要验证用户提供姓名和号码的表单.我有一个正则表达式,它应该确保名称只包含字母而不包含其他内容,对于数字输入,我需要确保字段中只包含数字.

 validator: (value) => value.isEmpty
                        ? 'Enter Your Name'
                        : RegExp(
                                '!@#<>?":_``~;[]\|=-+)(*&^%1234567890')
                            ? 'Enter a Valid Name'
                            : null,

我能得到一个正则表达式,它以这样的方式验证一个名称吗?如果输入任何特殊字符或数字,它就会变得错误,意味着只有字母才有效,而另一个正则表达式,如果输入字母或任何特殊字符,它就会变得错误,意味着只有数字的输入才是有效的,如果输入字母或任何特殊字符,它就会变得错误,意味着只有数字输入才有效,如果输入字母或任何特殊字符,它就会变得错误,意味着只有数字输入才有效

推荐答案

在我看来你想要

RegExp(r'[!@#<>?":_`~;[\]\\|=+)(*&^%0-9-]').hasMatch(value)

请注意,您需要使用原始字符串文字,将-放在末尾,并在结果character class中转义]\个字符,然后判断是否与.hasMatch(value)匹配.[0123456789]也不等于[0-9].

至于第二种模式,您可以从正则表达式中删除数字范围(需要时允许),并添加一个\s模式(\s匹配任何空格字符),以禁止输入中的空格:

RegExp(r'[!@#<>?":_`~;[\]\\|=+)(*&^%\s-]').hasMatch(value)

Dart相关问答推荐

如何在 Dart 2.17+ 中处理future 的枚举值

如何在flutter中管理switch小部件的原生外观

如何在 Flutter Web 中动态更改 App Title?

Dart中有没有类似python 字典(dictionary) struct ?

Flutter更新导航栏

不要将 PageView 居中 - Flutter

在Flatter中滚动列表视图时,网络图像一直消失?

不推荐使用AnteStorStateofType,请改用findAncestorStateOfType

Flutter 如何使用 ListTile 三行

Dart 中的动态类方法调用

如何导入文件夹中的所有文件?

dart 如何创建、监听和发出自定义事件?

如何用dart语言初始化超类变量?

我们如何在 Dart 中删除一个对象?

有可用的 Dart VM 吗?

以编程方式使dart中的十六进制 colored颜色 变亮或变暗

如何从 Dart 中的 forEach 循环返回?

如何在 Dart 中逐个字符地迭代字符串?

Dart 中的 List.shuffle()?

如何在 Dart 中使用 Switch Case 语句