2017-01-13 16 views
1

名前フィールドを最初の大文字で検証します。私はこれをやろうとしていて、どうやってやったのか少し問題があります。問題はすべての入力タイプのフィールドは、このコードで電子メールの入力も最初の単語の首都を含むです。ここに私のコードです:名前フィールドに最初の大文字の大文字小文字を使用する

$(document).ready(function() { 
    $('input').on('keydown', function (e) { 
     if (this.value == '') { 
      var char = String.fromCharCode(e.which); 
      if (char.match(/^\w$/)) { 
       // If is empty and we pressed a printable key... 
       this.value = char.toUpperCase(); 
       return false; 
      } 
     } 
    }); 
    $('#00N2800000IA6aX').on('change', function() { 
     if ($(this).val() == 'India') { 
      $('#mobile').attr("maxlength", 10); 
      //set phone value null if you want 
      $('#mobile').val(""); 
      //set phone value 10 digits and remove rest if you want 
      $('#mobile').val($('#mobile').val().substr(0, 10)); 
     } else { 
      $('#mobile').removeAttr("maxlength"); 
     } 
    }); 
    if ($('#00N2800000IA6aX option:selected').val() == 'India') { 
     $('#00N2800000IA6aX').trigger('change'); 
    } 
    $("#abc").click(function() { 
     var first_name = $('#first_name').val(); 
     var email = $("#email").val(); 
     var mobile = $("#mobile").val(); 
     $("#returnmessage").empty(); // To empty previous error/success message. 
     // Checking for blank fields. 
     if (email == '' || mobile == '') { 
      $("#returnmessage").append("<span>Enter Your Name, Vaild E-mail & Mobile No. <span>"); 
      return false; 
     } 
     // To Check Empty Form Fields. 
     if (first_name.length == 0) { 
      $('#head').text("* All fields are mandatory *"); // This Segment Displays The Validation Rule For All Fields 
      $("#first_name"); 
      return false; 
     } 
     // Validating Name Field. 
     if (!first_name.match(name_regex) || first_name.length == 0) { 
      $('#first_name').text("* For your name please use alphabets only *"); 
      //This Segment Displays The Validation Rule For Name 
      $("#first_name").focus(); 
      return false; 
     } 
     var mailPattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]    {2,4})+$/; 
     if (!mailPattern.test(email)) { 
      $("#returnmessage").append("<span>Enter Your Valid Email Address!<span>"); 
      return false; 
     } 
     if ($('#00N2800000IA6aX option:selected').val() == 'India') { 
      var phoneNumberPattern = /^[0-9]{10}$/; 
      if (!phoneNumberPattern.test(mobile)) { 
       $("#returnmessage").append("<span>Enter Your 10 Digits Mobile No Only.<span>"); 
       return false; 
      } 
     } 
    }); 
}); 

答えて

0

私はあなたのコードにユーザーを強制しないようにしてください。 あなたの名前入力のonchangeイベントをチェックして、ユーザーがそれを更新したらそれを大文字にしてください。次の関数を使用してそのようにすることができます。

function CapitalizeWord(str) 
{ 
    return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); 
} 

使用

$('#first_name').change(function(){ 
    var text = $this.val(); 
    text = CapitalizeWord(text); 
    $(this).val(text); 
}); 

あなただけ検証し、入力の値を設定していないしたい場合は、次の機能を使用することができます。この関数はtrueまたはfalseを返し、返されたフラグに従ってロジックを書くことができます。

function ValidateCapitalLetter(name) 
{ 
    return /[A-Z]/.test(name[0]); 
} 

EDITはあなたが検証の上に追加する必要が

この例を考えてみましょう

$("#abc").click(function() { 
     var first_name = $('#first_name').val(); 
     var email = $("#email").val(); 
     var mobile = $("#mobile").val(); 
     $("#returnmessage").empty(); // To empty previous error/success message. 
     // Checking for blank fields. 
     if (email == '' || mobile == '') { 
      $("#returnmessage").append("<span>Enter Your Name, Vaild E-mail & Mobile No. <span>"); 
      return false; 
     } 
     // To Check Empty Form Fields. 
     if (first_name.length == 0) { 
      $('#head').text("* All fields are mandatory *"); // This Segment Displays The Validation Rule For All Fields 
      $("#first_name"); 
      return false; 
     } 
     // Validating Name Field. 
     if (!first_name.match(name_regex) || first_name.length == 0) { 
      $('#first_name').text("* For your name please use alphabets only *"); 
      //This Segment Displays The Validation Rule For Name 
      $("#first_name").focus(); 
      return false; 
     } 

     // Validating Name Field for Capital Letter. 
     if (!ValidateCapitalLetter(first_name)) { 
      $('#first_name').text("* For your name please add first letter Capital *"); 

      $("#first_name").focus(); 
      return false; 
     } 
     var mailPattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]    {2,4})+$/; 
     if (!mailPattern.test(email)) { 
      $("#returnmessage").append("<span>Enter Your Valid Email Address!<span>"); 
      return false; 
     } 
     if ($('#00N2800000IA6aX option:selected').val() == 'India') { 
      var phoneNumberPattern = /^[0-9]{10}$/; 
      if (!phoneNumberPattern.test(mobile)) { 
       $("#returnmessage").append("<span>Enter Your 10 Digits Mobile No Only.<span>"); 
       return false; 
      } 
     } 
    }); 
+0

ありがとうございますが、私は名前フィールドの検証が必要です – Overseas

+0

ええ、私は名前が大文字であれば真を返すような検証コードも追加しました。必要ならばそれを使うことができます –

+0

MR。 KDこのコードをどこに置くか教えてください。 – Overseas

1

を以下のよう..

var x="ebe"; 

if(x[0].charCodeAt()>=97) 
    x[0]=x[0].toUpperCase(); 

charcodeatは、ASCII値を与えます。

関連する問題