1

さて、検証に関してこのサイトでチェックしたものはすべて、私が探しているものではありません。

私が探しているのは、firstnameとsecondnameの値の最小の長さと最大の長さです。これは、現在私が持っているコードです。

        if (isset($_POST['submit'])) {
        $errors = array();

                 if (isset($_POST['firstname'])) {
            $fn = $_POST['firstname'];
        } else {
            $errors[] = "You have not entered a first name";
        }

        if (isset($_POST['secondname'])) {
            $sn = $_POST['secondname'];
        } else {
            $errors[] = "You have not entered a second name";
        }

最小値が4文字で最大値が15の文字にpreg_matchをどのように適用するのか疑問に思っていました。

私はそれが何かと関係があることを知っています

if(preg_match('/^[A-Z \'.-]{4,15}$/i', $_POST['firstname']))

これをすることで私はやろうとしました

    if (isset($_POST['firstname']) && preg_match('/^[A-Z \'.-]{4,15}$/i', $_POST['firstname')) {

しかし、それはまた私にエラーを与えました:/

誰かが私にこれに対する解決策を教えてもらえますか?

ありがとう!

アップデート:-

Nvm、私はそれを回避する方法を見つけました。私はこれをしました

if (isset($_POST['firstname'])) {
        if (preg_match('/^[A-Z \'.-]{4,15}$/i', $_POST['firstname'])) {
            $fn = $_POST['firstname'];
        } else {
            $errors[] = "<center> <h3> You must enter between 4 and 15 characters! </h3></center>";                  
        }
    } else {
        $errors[] = "You have not entered a name";

ファーストネームとセカンドネームの両方。:)

4

2 に答える 2

2

strlen()文字列の長さを取得して、制限に対してテストしてみませんか?

$length = strlen($nick);
if ($length > 3 AND $length < 16) {
    //Do STuff
} else {
    //Do stuff for failed requirement
}
于 2012-04-12T21:46:56.573 に答える
0

私はそれを回避する方法を見つけました。私はこれをしました

if (isset($_POST['firstname'])) {
            if (preg_match('/^[A-Z \'.-]{4,15}$/i', $_POST['firstname'])) {
                $fn = $_POST['firstname'];
            } else {
                $errors[] = "<center> <h3>You must enter between 4 and 15 characters!</h3> </center>";                  
            }
        } else {
            $errors[] = "You have not entered a name";
   }

ファーストネームとセカンドネームの両方。

于 2012-04-14T22:51:35.463 に答える