【发布时间】:2019-01-31 00:38:20
【问题描述】:
我需要验证用户提供其姓名和号码的表单。我有一个正则表达式,它应该确保名称只包含字母而不包含其他任何内容,而且对于数字输入,我需要确保字段中只有数字。 我的代码看起来像
validator: (value) => value.isEmpty
? 'Enter Your Name'
: RegExp(
'!@#<>?":_``~;[]\|=-+)(*&^%1234567890')
? 'Enter a Valid Name'
: null,
如果输入任何特殊字符或数字,我能否获得一个正则表达式来验证名称输入字符会出错,这意味着只有数字的输入才有效
【问题讨论】:
-
看起来你想要
RegExp(r'[!@#<>?":_`~;[\]\\|=+)(*&^%0-9-]').hasMatch(value)。您需要使用原始字符串文字,将-放在末尾并转义]和\字符,然后检查是否与.hasMatch(value)匹配。[0123456789]=[0-9]. -
这适用于名称正则表达式。你能解释一下第一名吗?在这一个中,用户会看到数字键盘,因此某些字符本身并不重要。我刚刚复制了名称 Regex 并将其粘贴到此处,但删除了
0-9以便能够输入数字。问题是,当插入一个空格时,它仍然将其计为一个值。我该如何纠正这个问题。 -
添加
\s-r'[!@#<>?":_`~;[\]\\|=+)(*&^%\s-]' -
是的。这行得通。您可以添加答案