我正在尝试使用以下代码匹配PHP中的正则表达式。
if (!preg_match("/^[a-zA-Z0-9-_.]*$/",$string)) {
// Show error
}
我想允许
- 整数 (0-9)
- 字符(小写字母和大写字母)(a 到 z 和 A 到 Z)
- 点 ( . )
- 下划线 ( _ )
- 破折号 ( - )
- 空间 ( )
它不起作用。有人对我做错了什么有任何建议吗?
你应该使用:
if (!preg_match("/^['w's'.-]*$/",$string)) {
#show error
}
它还将匹配空字符串,因为"*"。
你实际上就在那里。
if (preg_match('/^[a-zA-Z0-9-_. ]*$/', $string) !== 1) {
// Show error
}
假设您要允许空字符串。否则,请将*
更改为 +
。