我是编程PHP的新手,我正在尝试验证表单中的字段。
如果是RAL颜色代码,则该字段看起来像:RAL 1001
。
所以字母RAL然后是4个数字。
有人可以帮助我将它们设置为正则表达式来验证它们。 我试过这个没有成功:
$string_exp = "/^[RAL][0-9 .-]+$/i";
我能说些什么,但很抱歉在PHP上是一个完整的NOOB。
干杯 本
答案 0 :(得分:1)
通过删除冗余字符类,您将获得:
/^RAL \d{4}$/i
请注意,使用不区分大小写的标记会使其匹配,例如Ral 1245
或raL 9875
等情况。
答案 1 :(得分:1)
[RAL]
只会匹配一个字符,R,A或L,而您希望匹配字符串“RAL”。所以你可能想要这样的东西,
$string_exp = "/^RAL[0-9]{4}$/";
这将与"RAL1001"
匹配,但不会与"RAL1"
,"RAL 1001"
,"RAL12345"
等匹配。如果您想要RAL和数字之间的空格,那么也要放置该空格进入正则表达式。
答案 2 :(得分:0)
/^RAL [0-9]{4}$/
如果您按原样输入字母,则会按原样找到它们。如果您在[]
中包含某些内容,则表示:“搜索其中一个字符的单个字符。”
因此,从文字“RAL”开始,当您应用i
标志时,会发现文字“RAL”(或“ral”)。
答案 3 :(得分:0)
不一定!
...
if( preg_match('/RAL\s*(\d{4})(?!\d)/', $name, $m) ) {
echo $m[1];
}
...
这接受'someRAL 1234within text' 但不接受'RAL 12345'。
确切的正则表达式完全取决于你的身份 背景或规范。你必须的 在你的问题中更明确。