2017-01-13 1 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]); 
} 

편집 당신은 검증 위에 추가 할 필요가

이 예제를 고려

$("#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

그래도 이름이 대문자 인 경우 true를 반환하는 유효성 검사 코드도 추가했습니다. 필요한 경우 사용할 수 있습니다 –

+0

MR. KD이 코드를 어디에 넣을 지 알려주십시오. – Overseas

1

을 다음과 같이 ..

var x="ebe"; 

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

charcodeat는 아스키 값을 제공합니다.

관련 문제