Yii2 验证百分比的规则,如 65.45



我知道这是一个非常简单和重复的问题,但我几乎尝试了所有方法,但没有得到任何解决方案。我想验证一个百分比的学生喜欢。例如:65.45。用户必须仅输入这样的值,否则它应该显示错误。我在模型中给出了以下规则。但它只取整数值。不是百分比验证。

[['c_percentage'], 'number', 'numberPattern' => '/^s*[-+]?[0-9]*[.,]?[0-9]+([eE][-+]?[0-9]+)?s*$/'],

请帮助解决这个问题。提前谢谢。

这将完成这项工作:

/^s*[+-]?d+(?:[.,]d{1,2})?s*$/

解释:

/               : regex delimiter
  ^             : begining of string
    s*         : 0 or more spaces
    [+-]?       : optional plus or minus
    d+         : 1 or more digits
    (?:         : start non capture group
      [.,]      : dot or comma
      d{1,2}   : 1 or 2 digits (decimal part)
    )?          : the group is optional to allow whole integer
    s*         : 0 or more spaces
  $             : end of string
/               : regex delimiter

如果只想匹配浮点值,请删除可选部分:

/^s*[+-]?d+[.,]d{1,2}s*$/

或者,如果您想要正好 2 位小数:

/^s*[+-]?d+[.,]d{2}s*$/

试试这个它将验证

[['c_percentage'], 'number', 'numberPattern' => '/^[0-9]{1,2}(.([0-9]{0,2})){0,1}$/'],

最新更新