0

これは私を狂わせています!

これが私が達成したいことです:

パート1:疑似要素はで始まる必要があり、1つまたは1[a-zA-Z0-9]つを持つことができるかどう[._-]space

パート2:それはで終了する必要があります[a-zA-Z0-9]

パート1は永遠に繰り返すことができますが、パート2で終了する必要があります。

それはそれをする百万の方法のように試みました、そしてそれは決して働きません。以下のコードでは、「Test_test 」(2つの「 」を使用)を配置すると、機能しないはずのときに機能します。助けてください

<!doctype html>

</head>
<body>
    <form method="POST" action="">
        <input type="text" name="pseudo"/><br /><br />
        <input type="submit" name="submit" value="Valider"/>
    </form>

    <?php
        if(isset($_POST['pseudo']))
        {
            $pseudo = $_POST['pseudo'];

            if(preg_match('/([a-zA-Z0-9]{1,}[._-]{0,1})+[a-zA-Z0-9]{1,}$/',$pseudo))
            {
                echo "Ok";
            }else
            {
                echo "Error";
            }
        }       
    ?>

</body>

4

4 に答える 4

1

試してみてください:

/^([[:alnum:]]+[._ -]?)+[[:alnum:]]+$/

alnum文字と数字のエイリアスです。

于 2012-07-24T11:33:22.843 に答える
1

これはどうですか?

/^([a-zA-Z0-9]+[._ -]?)+[a-zA-Z0-9]$/

ここでは、alnumでの開始と終了は明らかですが、内部部分では、基本的に、いずれかが「 NOT[._-]で囲まれるように強制されます。 [._-]

それはあなたが望むものですか?

于 2012-07-24T11:39:39.943 に答える
0

まず、特殊記号であるため、などをエスケープしてから-、正規表現の前に記号を追加してみてください。.[\._\-]^

于 2012-07-24T11:32:06.493 に答える
0

これを試してください:

^([a-zA-Z0-9]+[._-]{0,1})+[A-Za-z0-9]+$
于 2012-07-24T11:33:50.163 に答える