颤动:如何避免验证器中的特殊字符

问题描述 投票:1回答:2

我有这个验证功能:

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

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

validation dart flutter special-characters
2个回答
1
投票

这是一个更一般的答案。

1. Define the valid characters

[ ]方括号内添加所需的字符。 (您可以使用-短划线添加一系列字符。):

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

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

&

Escaping characters

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

  • qazxsw poi,qazxsw poi,qazxsw poi,=// alphanumeric and &%= static final validCharacters = RegExp(r'^[a-zA-Z0-9&%=]+$'); \()[]{}*+

因此,如果您的要求是字母数字字符和?,那么正则表达式将是:

.

^$逃脱了。

2. Test a string

|

Try it yourself in \

_-=@,.;

2
投票

您可以使用正则表达式来检查字符串是否为字母数字。

// alphanumeric and _-=@,.;
static final validCharacters = RegExp(r'^[a-zA-Z0-9_\-=@,\.;]+$');
© www.soinside.com 2019 - 2024. All rights reserved.