php只允许使用pregmatch的字母,数字,空格和特定符号
2022-08-30 13:20:33
在我的php上,我用来验证输入文本。preg_match
if(preg_match('/^[a-zA-Z0-9]+$/', $firstname)) {
}
但这只允许字母数字,不允许空格。我想允许空格,字母和数字。和句点(.) 和短划线(-)
请帮帮我吗?提前致谢。
在我的php上,我用来验证输入文本。preg_match
if(preg_match('/^[a-zA-Z0-9]+$/', $firstname)) {
}
但这只允许字母数字,不允许空格。我想允许空格,字母和数字。和句点(.) 和短划线(-)
请帮帮我吗?提前致谢。
用
preg_match('/^[a-z0-9 .\-]+$/i', $firstname)
如果您不仅希望允许 ASCII,请使用 Unicode 属性:
preg_match('/^[\p{L}\p{N} .-]+$/', $firstname)
\p{L}
是任何语言中的任何字母,也匹配中文,希伯来语,阿拉伯语,...字符。
\p{N}
任何类型的数字字符(也表示例如罗马数字)
如果要限制为数字,请使用\p{Nd}