2016-02-17 2 views
1

предотвратить людей от попадания других, чем на preg_match с этим кодом символы:Как использовать preg_match для New Line

if (!preg_match("/^[a-zA-Z0-9 ]*$/",$input)) { 
    $error = "Error"; 
} 

Это только позволяет:

  • А до Я
  • От 0 до 9
  • (пробел)

Но, если люди нажмут ENTER. данные не могут быть отправлены. Как мне изменить код?

ответ

1

Вы можете использовать \ r \ n для ввода или новой строки в preg_match.

if (!preg_match("/^[a-zA-Z0-9 \r\n]*$/",$input)) { 
    $error = "Error"; 
} 
0

попробовать это

&[^a-zA-Z0-9\s]& 

\ s должно найти любой тип пробелов, включая переводы строк и пробелов. если вам нужны только пробелы и новые строки (не вкладки или другие пробелы), вы можете сделать вместо этого /^[a-zA-Z0-9 ]*$/.

0

Я думаю, что выше будет работать нормально ... но если это не вы можете попробовать это:

if (!preg_match("/(?!\n)^[a-zA-Z0-9\s]*$/",$input)) { 
    $error = "Error"; 
} 

(\ п?!) Отрицательный взгляд вперед будет препятствовать \ п появляться в строке ..