0

jquery を使用しており、### ### #### の形式で携帯電話番号または自宅番号を検証しようとしています。# は数字のプレースホルダーです。

現時点では数値を使用していますが、スペースに問題があり、すべての SA 番号が最小 10 桁であるため、最小長 10 を使用しています。

私のコードはすでに次のようになっています。

// Validation of Form
function validateForm() {
    $('#frmMain').validate({
        rules: { 
                 TelNumber: { required: true, number: true, minlength: 10 }
                },
        messages: {
                TelNumber: { required: 'Tel number Required' }
               },

        submitHandler: function (form) {
            $('#btnSubmit').click();

        }
    });
}

ここで、米国の電話番号のアドオンを見つけました。誰かが米国の電話番号がどのように見えるかを教えてくれれば、これを編集できます:

jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
    phone_number = phone_number.replace(/\s+/g, ""); 
    return this.optional(element) || phone_number.length > 9 &&
        phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");

$("#myform").validate({
  rules: {
    field: {
      required: true,
      phoneUS: true
    }
  }
});
4

3 に答える 3

2

プラグインの作成者のページには、「phoneUS」検証ルールを含む「追加の検証方法」パック (ソースへのホットリンク) へのリンクがあります。それをドロップするだけで、準備完了です。

許容されるパターンをカスタマイズする場合、そのファイルには、正規表現を指定して検証できる「パターン」ルールも含まれています。実際、「phoneUS」ルールも同様に機能します。式の入力をテストすることによって

/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/
于 2012-05-17T09:55:59.883 に答える
1
jQuery.validator.addMethod("phoneSA", function (phone_number, element) {
    phone_number = phone_number.replace(/\s+/g, "");
    return this.optional(element) || phone_number.length > 9 && 
        phone_number.match(/^(0-?)?(\([0-9]\d{2}\)|[0-9]\d{2})-?[0-9]\d{2}-?\d{4}$/); //(0-?) = 0, ([0-9]\d{2}\) = 3 digits from 0-9 , d{4} 4 didgets, $ end of number
}, "Please specify a valid phone number");
于 2012-05-17T10:24:35.030 に答える
0

これが私が使用しているスクリプトです。必要に応じてコードを変更します。iderrorContainerは、エラー メッセージを表示するためのものです。

<script type="text/javascript">
   $().ready(function() {
    $("#frmMain").validate({
        errorLabelContainer:'#errorContainer',
        showErrors: function(errorMap, errorList) {
            if(errorList.length)
            {
                $('#errorContainer').html(errorList[0]['message']);
            }
        },
            highlight:function(element,errorClass){
            $(element).parent('td').addClass('error');
            },
        unhighlight:function(element,errorClass){
                $(element).parent('td').removeClass('error');
        },
        rules: {
                        TelNumber: {
                required: true,
                number:true 
            }
                    },
            messages: {
                TelNumber: "Please enter a valid phone number",
            }
        });
   });
</script>

これを実装する前に、jQuery ファイルが正常にロードされ、適切に機能していることを確認してください。

I will suggest trying to use some UI for validation, that will be easy to implement.

于 2012-05-17T09:56:55.900 に答える