PHP preg_match 不作为输入模式
PHP preg_match not working as Input pattern
所以我在 HTML 中有这个输入模式:
<input name="firstnamereg" type="text" pattern="[/\p{L}+/u ]+">
但是当我使用 preg_match 时它不起作用:
$regexFirstANDLastname = "/[/\p{L}+/u ]+/";
preg_match($regexFirstANDLastname, $_POST["firstnamereg"]);
您需要使用
pattern="[\p{L}\s]+"
此模式在 Chrome 和 Firefox 中将被编译为 new RegExp("^(?:[\p{L}\s]+)$", "u")
正则表达式对象。默认情况下使用 u
标志,您不需要在正则表达式文字构造中传递该标志。 pattern
正则表达式始终设置为字符串,而不是正则表达式文字。
所以我在 HTML 中有这个输入模式:
<input name="firstnamereg" type="text" pattern="[/\p{L}+/u ]+">
但是当我使用 preg_match 时它不起作用:
$regexFirstANDLastname = "/[/\p{L}+/u ]+/";
preg_match($regexFirstANDLastname, $_POST["firstnamereg"]);
您需要使用
pattern="[\p{L}\s]+"
此模式在 Chrome 和 Firefox 中将被编译为 new RegExp("^(?:[\p{L}\s]+)$", "u")
正则表达式对象。默认情况下使用 u
标志,您不需要在正则表达式文字构造中传递该标志。 pattern
正则表达式始终设置为字符串,而不是正则表达式文字。