使用Laravel框架我需要根据一组有效值检查提交字段的值.
问题是Laravel使用了| 用于分隔属于字段的验证规则的字符.
这并不能正常工作,它抛出一个"的preg_match:没有结束符'/’发现":
'my_field' => 'match:/^(value1|value2|different value|yet another)$/'
Run Code Online (Sandbox Code Playgroud)
|如果\角色没有帮助,在这种情况下如何逃脱角色呢?
以下是项目名称的规则:
$this->validate(request(), [
'projectName' => 'required|regex:/(^([a-zA-z]+)(\d+)?$)/u',
];
Run Code Online (Sandbox Code Playgroud)
我试图添加规则,以便它必须从一个字母开始,或者可以以数字结尾但最不是.a-zA-z
项目名称的有效值:
myproject123
myproject
MyProject
Run Code Online (Sandbox Code Playgroud)
项目名称的值无效:
123myproject
!myproject
myproject 123
my project
my project123
Run Code Online (Sandbox Code Playgroud)
我在网上尝试了我的正则表达式:
https://regex101.com/r/FylFY1/2
它应该工作,但我可以通过验证project 123.
更新:它确实有效,我只是在错误的控制器中测试它,对不起......但也许它会帮助其他人
我正在尝试编写一个正则表达式验证器来接受只有小数部分0或5且在0-5范围内的数字.例如:
-1 false
-.5 false
-0 false
000000 true
0.0 true
0000. true
0 true
.50000000 true
00001. true
01.50 true
2.00000 true
2.5000 true
03 true
03.5 true
0004 true
0004.5000 true
00005.0 true
0 true
0.5 true
1 true
1.5 true
2 true
2.5 true
3 true
3.5 true
4 true
4.5 true
5 true
1.05 false
5.5 false
10 false
20 false
30 false
40 false
50 false
Run Code Online (Sandbox Code Playgroud)
无论数字前面或后面有多少0都可以有效.
我想这一个^[0-5]+(?:\.[05]0?)?$,但它的情况下失败:0000.,.5,001. …