function onlyAlphabets(e, t) {
  try {
    if (window.event)  {
      var charCode = window.event.keyCode;
    }
    else if (e) {
      var charCode = e.which;
    }
    else { return true; }
    if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123))
      return true;
    else
      return false;
  }
  catch (err) {
    alert(err.Description);
  }
}

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

$('input.facebookUrl').keyup(function(){
  if (
    ($(this).val().length > 0) && ($(this).val().substr(0,24) != 'http://www.facebook.com/')
    || ($(this).val() == '')
  ){
    $(this).val('http://www.facebook.com/');
  }
});

<table align="center">
  <tr>
    <td>
      <input name="firstname"  class="text_area"  maxlength=20 placeholder="Name" type="text" onKeyPress="return onlyAlphabets(event,this)" required  id="ValidName" value="" />
    </td>
  <tr>
    <td>
      <input type="text" onkeypress="return isNumber(event)" id="volpincode" maxlength=7 name="pincode"  value="" required  placeholder="Pincode" class="text_area">
    </td>
    <td><input style="width:300px" type="text" onkeypress="return keyup(event)" class="facebookUrl" name="facebook" value="http://www.facebook.com/$facebook"></td>
    <td>
      <input style="width:30px" disabled="disabled" type="text" name="facebook" value="+91" />
    </td>
  </tr>
  </tr>
</table>





我正在尝试验证名称和密码,因此在“名称”字段中,仅字母不必输入任何其他字符,而在“密码”中仅应输入数字。表单可以在Google chrome中正常运行,但是在我输入并尝试删除文本字段中的文本时使用了Firefox,但不会删除字符。

最佳答案

要仅验证名称字母,请使用以下代码:

$(document).on("keydown", "#NametextboxID", function (e) {
                if (e.ctrlKey || e.altKey) {
                    e.preventDefault();

                } else {

                    var key = e.keyCode;
                    if (!((key == 8) || (key == 32) || (key == 46) || (key >= 35 && key <= 40) || (key >= 65 && key <= 90) || (key == 9))) {
                        e.preventDefault();
                    }
                }
            });


要仅验证用于Pin的数字,请使用以下代码:

 $(document).on("keydown", "#PinId", function (e) {
                if (e.shiftKey || e.ctrlKey || e.altKey) { // if shift, ctrl or alt keys held down
                    e.preventDefault();         // Prevent character input
                } else {
                    var n = e.keyCode;
                    if (!((n == 8)              // backspace
                            || (n == 46)                // delete
                            || (n >= 35 && n <= 40)     // arrow keys/home/end
                            || (n >= 48 && n <= 57)     // numbers on keyboard
                            || (n >= 96 && n <= 105)
                            || (n == 9))   // number on keypad
                    ) {
                        e.preventDefault();
                        // alert("in if");
                        // Prevent character input
                    }
                }
            });

关于javascript - 在Mozilla浏览器上的My Form的Textarea中,Backspace不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31488222/

10-09 17:25