регулярное выражение для проверки имени папки и имени файла - PullRequest
6 голосов
/ 03 июня 2011

Я хочу проверить имя файла

Имя файла или папки не должно содержать \ /?% *: |"<>.

Не могли бы вы предложить мне регулярное выражение для использования в preg_match ()?

Спасибо.

Ответы [ 4 ]

10 голосов
/ 03 июня 2011

Было бы более эффективно использовать функцию strpbrk () .

if (strpbrk($filename, "\\/?%*:|\"<>") === FALSE) {
  /* $filename is legal; doesn't contain illegal character. */
}
else {
  /* $filename contains at least one illegal character. */
}
6 голосов
/ 03 июня 2011

Регулярное выражение, отвечающее вашим требованиям: ^[^\\/?%*:|"<>\.]+$

2 голосов
/ 21 января 2014
new RegExp('^[a-zA-Zа-яА-Я0-9_!]+$')

http://regexpal.com/ попробуйте этот сайт

0 голосов
/ 09 августа 2015
new RegExp('^[^\\\\\/\?\%\*\:\|\"<>]+$')

это работа для меня. В основном это занимает:

new RegExp('^[^\\/?%*:|"<>]+$')
...