0

テキストボックスでプラス記号(+)を受け入れる方法はありますか?実際、私は(+)記号と番号を受け入れることができる電話番号入力ボックスを持っています。それを行う方法はありますか?PHPで配列を使用してアクセスすると$_POST、記号が削除され、数字が表示されるだけです。そして、これは私がグーグルから得たものです:

application/x-www-form-urlencoded:これはデフォルトのエンコーディングです。すべての文字は送信前にエンコードされます(スペースは「+」記号に変換され、特殊文字はASCII HEX値に変換されます)

したがって、スペースが「+」に変換されると、本物の「+」記号が区別できなくなります。右??

4

2 に答える 2

0

はい、プラス記号を値としてエンコードする方法があります。
自己完結型の例

<?php if ( !isset($_GET['foo']) ) { ?>
<html>
    <head><title>...</title></head>
    <body>
        <form method="GET" action="?">
            <p>
                <input type="text" name="foo" value="+49301234567789" />
                <input type="submit" />
            </p>
        </form>
    </body>
</html>
<?php
}
else {
    if ( 0==strncmp('+', $_GET['foo'], 1) ) {
        echo 'leading plus sign';
    }
    else {
        echo 'no leading plus sign';
    }
}   

追加されたクエリ文字列は、プラスをエンコードする?foo=%2B49301234567789場所です。%2B

于 2012-12-10T11:49:35.400 に答える
0

以前はテキスト入力名rawurlencode($_POST['mobile'])の値を取得して'mobile'いましたが、「+」記号が付いた値が返されました。

于 2012-12-10T12:15:14.917 に答える