以下のような条件で入力内容をチェックしたい。
またしてもですが、私、phpに初めて触ります。 初心者の不慣れなコードですので、ご参考程度に😅😅😅
<?php
$inputtedword = "";
$inputtedword = $_POST[idname];
$onlynumcheck = preg_replace('/[0-9]/', '', $inputtedword);
$wordscheck = preg_replace('/[0-9a-z[\-]/', '', $inputtedword);
function returntop() {
echo '<p>';
echo '<a href="/" title="to top page">戻る</a>';
echo '</p>';
}
if (strlen("$inputtedword") < 3) {
echo '<p class="postediderror">';
echo "NG:3文字未満のアカウントは作成できません";
echo '</p>';
returntop();
} elseif (preg_match('/^[\-]/', "$inputtedword") === false) {
echo "error:入力値が不正です";
} elseif (preg_match('/^[\-]/', "$inputtedword") === 1) {
echo '<p class="postediderror">';
echo "NG:ハイフンを先頭または最後の文字にはできません";
echo '</p>';
returntop();
} elseif (preg_match('/[\-]$/', "$inputtedword") === false) {
echo "error:入力値が不正です";
} elseif (preg_match('/[\-]$/', "$inputtedword") === 1) {
echo '<p class="postediderror">';
echo "NG:ハイフンを先頭または最後の文字にはできません";
echo '</p>';
returntop();
} elseif (preg_match('/[\-][\-]+/', "$inputtedword") === false) {
echo "error:入力値が不正です";
} elseif (preg_match('/[\-][\-]+/', "$inputtedword") === 1) {
echo '<p class="postediderror">';
echo 'NG:"--"ハイフンは連続して使用できません';
echo '</p>';
returntop();
} elseif (strlen($onlynumcheck) == 0) {
echo '<p class="postediderror">';
echo 'NG:数字だけでは作成できません';
echo '</p>';
returntop();
} elseif (strlen($wordscheck) > 0) {
echo '<p class="postediderror">';
echo 'NG:使用できない文字が含まれています';
echo '</p>';
returntop();
} elseif (strlen("$inputtedword") > 32) {
echo '<p class="postediderror">';
echo "NG:アカウント名は最大32文字です";
echo '</p>';
returntop();
} else {
echo "OK: Name string was checked"."<br>";
}
?>
[AD]PHPしっかり入門教室 使える力が身につく、仕組みからわかる。
[AD]PHPしっかり入門教室 使える力が身につく、仕組みからわかる。【PDF版】
[つぶやき]プログラミングむずかしいなぁ・・・
今回はこれまで。