我使用以下代码阻止人们输入preg_match以外的字符:
if (!preg_match("/^[a-zA-Z0-9 ]*$/",$input)) {
$error = "Error";
}
它只允许:
但是,如果人们点击ENTER。数据无法发送。我如何更改代码?
答案 0 :(得分:1)
您可以在preg_match中使用\ r \ n作为输入或新行。
if (!preg_match("/^[a-zA-Z0-9 \r\n]*$/",$input)) {
$error = "Error";
}
答案 1 :(得分:0)
试试这个
&[^a-zA-Z0-9\s]&
\ s应找到任何类型的空格,包括换行符和空格。如果你只想要空格和换行符(不是制表符或其他空格),你可以改为/^[a-zA-Z0-9 ]*$/
。
答案 2 :(得分:0)
我认为上述情况会很好......但如果失败了你可以试试这个:
if (!preg_match("/(?!\n)^[a-zA-Z0-9\s]*$/",$input)) {
$error = "Error";
}
(?!\ n)负向前看将阻止\ n出现在字符串中..