2

テキストボックスの値を検証する必要があります。テキストボックスは、0123456789の形式の顧客の電話番号用です(つまり、10個の番号のみであり、番号を入力している間、ユーザーがアルファベットや特殊記号を追加できないことを意味します)

データは、フォームのPOSTメソッドを介してページ(validate.php)に送信されます。

文字や文字を使わずに、10個の数字を次々と受け入れる関数が欲しいです。

4

4 に答える 4

0

たとえば、preg_matchを使用できます

preg_match('/^[0-9]{10}$/', $_POST['your-value']);
于 2012-06-06T06:46:23.250 に答える
0

AVDが述べたように、PHPスクリプトで正規表現を使用するか、jQueryの検証プラグインを使用してユーザーがフォームを送信できないようにすることができます。

HTML

<form name="contact" id="contact">
    <input name="number" id="number" />
</form>

jQUery

$("#contact").validate({
    rules: {
        number: {
            required: true,
            minlength: 10,
            numeric: true
                }
    },
        messages: {
            number: {
                required: "Enter a phone number",
                minlength: "The phone number is too short",
                numeric: "Please enter numeric values only"
            }
        }
})

詳細については、jQuery/Validationをご覧ください。

于 2012-06-06T06:52:15.570 に答える
0

私はこれがあなたのために働くと思います:

<html>
<head>
<script type="application/javascript">

  function isNumberKey(evt)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;

         return true;
      }

</script>
</head>

<body>
    <input type="text" name="tel_num" value="" onkeypress="return isNumberKey(event)" maxlength="10"/>
</body>
</html>
于 2012-06-06T06:53:16.707 に答える
0

これを試して。各キー入力のエントリを検証します

HTML:

<input size="10" maxlength="10" type="text" name="p_len" id="p_len" value="" onkeyup="check(this)" />

Javascript:

function check(o) {
    v=o.value.replace(/^\s+|\s+$/,''); // remove any whitespace
    if(o=='') {
        return;
    }
    v=v.substr(v.length-1);
    if(v.match(/\d/g)==null) {
        o.value=o.value.substr(0,o.value.length-1).replace(/^\s+|\s+$/,'');
    }
}

入力され、長さが10に制限されるとすぐに、数字以外の入力が削除されます。

お役に立てれば。

于 2012-06-06T07:07:35.023 に答える