gpt4 book ai didi

validation - Flutter:如何避免验证器中的特殊字符

转载 作者:IT王子 更新时间:2023-10-29 06:51:31 29 4
gpt4 key购买 nike

我有这个验证函数:

class FormFieldValidator{
static String validate(String value, String message){
return (value.isEmpty || (value.contains(**SPECIAL CHARACTERS**))) ? message : null;
}
}

我想表示不必包含特殊字符,但我该怎么说呢?

最佳答案

这是一个更笼统的答案。

1。定义有效字符

[ ] 方括号内添加您想要的字符。 (您可以使用 - 破折号添加一系列字符。):

// alphanumeric
static final validCharacters = RegExp(r'^[a-zA-Z0-9]+$');

上面的正则表达式匹配大小写字母和数字。如果您需要其他字符,您可以添加它们。例如,下一个正则表达式还匹配 &%=

// alphanumeric and &%=
static final validCharacters = RegExp(r'^[a-zA-Z0-9&%=]+$');

转义字符

某些字符在正则表达式中具有特殊含义,需要使用 \ 反斜杠进行转义:

  • (, ), [, ], {, >, *, +, ?, ., ^ >、$|\

因此,如果您的要求是字母数字字符和 _-=@,.;,那么正则表达式将是:

// alphanumeric and _-=@,.;
static final validCharacters = RegExp(r'^[a-zA-Z0-9_\-=@,\.;]+$');

-. 被转义了。

2。测试一个字符串

validCharacters.hasMatch('abc123');  // true
validCharacters.hasMatch('abc 123'); // false (spaces not allowed)

DartPad 中自己尝试

void main() {
final validCharacters = RegExp(r'^[a-zA-Z0-9_\-=@,\.;]+$');
print(validCharacters.hasMatch('abc123'));
}

关于validation - Flutter:如何避免验证器中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52835450/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com