表題の通りですが表題を実現できずに困っております。
php
1<?php 2$str = '-._~%:/?#[]@!$&\'()*+,;='; 3$str = preg_quote( $str , '/'); 4$str = "[^" . $str . "]"; 5echo $str; 6 7$value = "@"; 8//$value = "@$$$$"; 9//$value = "++++;"; 10//$value = ":::"; 11 12 if (preg_match($str,$value) == 1) { 13 echo "不正な文字です"; 14 }else{ 15 echo "有効な文字です"; 16 } 17 18?>
$valueが全て有効な文字になってしまいます。どこがおかしいでしょうか。
ご教授お願いします。
先ほど以下のコードで上手くいって今したが、
php
1$str = '-._~%:/?#[]@!$&\'()*+,;='; 2$str = preg_quote( $str , '/'); 3$str = "/\A[" . $str . "]\Z/"; 4 if (preg_match($str,$value) == 1) { 5 echo "有効な文字です"; 6 }else{ 7 echo "不正な文字です"; 8 } 9
またすべての文字で不正な文字となります。なぜでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/11 05:18
2019/06/11 05:21
2019/06/11 05:25
2019/06/11 05:33
2019/06/11 05:35
2019/06/11 05:41
2019/06/12 03:20