- preg_match: documentation ( source)
- preg_quote: documentation ( source)
<?php
$str = '-._~%:/?#[]@!$&\'()*+,;=';
$str = preg_quote( $str , '/');
$str = "/[" . $str . "]/";
echo $str;
$value = "@";
//$value = "@$$$$";
//$value = "++++;";
//$value = ":::";
if (preg_match($str,$value) == 1) {
echo "不正な文字です";
}else{
echo "有効な文字です";
}