laravel 正则表达式验证不起作用

Posted

技术标签:

【中文标题】laravel 正则表达式验证不起作用【英文标题】:laravel regex validation not working 【发布时间】:2014-04-21 06:01:46 【问题描述】:

我刚刚开始使用 laravel,并且正在验证我的一种表单中的文本区域。

textarea 是供用户个人使用的,所以我只想允许字母、数字、空格和以下字符: , . ? ; : ' " - () !/@$

这就是我所拥有的

$validator = Validator::make(Input::all(),
array('bio' => array('regex:[a-zA-Z0-9 ,\.\?;:\'"-\(\)!/@\$]')
    )
);

我一直在寻找并尝试了很多方法来让它工作,但我就是想不通。

任何帮助将不胜感激。

谢谢

【问题讨论】:

不知道它在 laravel 中是如何工作的,但您可能需要 (a) 分隔符 (b) 从开始 ^ 锚定到结束 $,以及 (c) 可能需要 + (1 个字符或 更多...)。 您要转义的大部分内容都不需要在[] 中转义。当- 位于[] 之内时,它还会指定一个范围 谢谢,我试试 【参考方案1】:

试试这个:

array('Regex:/^[A-Za-z0-9\-! ,\'\"\/@\.:\(\)]+$/')

【讨论】:

感谢 ProgramFOX 的改进! 如何将此正则表达式放入 laravel 验证规则 ^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$

以上是关于laravel 正则表达式验证不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Laravel Regex Match Url与JPG不起作用[重复]

调试后正则表达式不起作用

jQuery:验证美国邮政的正则表达式不起作用

Javascript验证正则表达式不起作用

十六进制代码验证在laravel中不起作用[重复]

正则表达式验证以接受百分比值