如何在输入文本字段中仅允许字符串

时间:2019-04-12 10:18:58

标签: javascript ruby-on-rails haml dom-events

如何仅使用rails haml形式在text_field上输入字符串。

.field
  = f.label "agent_name"
  = f.text_field :agent_name, :required => true,:id=>"agent_name_validation"
  $("#agent_name_validation").keypress(function(event) {
    var string = /^[a-z]+$/i;
    if(event.which != string){
      return false;
    }
  });

5 个答案:

答案 0 :(得分:0)

使用以下Jquery函数从文本字段中删除数字

$("#agent_name_validation").keyup(function(e) {
  // Our regex
  // a-z => allow all lowercase alphabets
  // A-Z => allow all uppercase alphabets
  var regex = /^[a-zA-Z]+$/;
  // This is will test the value against the regex
  // Will return True if regex satisfied
  if (regex.test(this.value) !== true)
  //alert if not true
  //alert("Invalid Input");

  // You can replace the invalid characters by:
    this.value = this.value.replace(/[^a-zA-Z]+/, '');
});

答案 1 :(得分:0)

使用此脚本

$("#agent_name_validation").keypress(function(event){
   var inputValue = event.charCode;
   if(!(inputValue >= 65 && inputValue <= 120) && (inputValue != 32 && inputValue != 0)){
       event.preventDefault();
   }
});

答案 2 :(得分:0)

如果输入的字符不是RegExp.prototype​.test() [a-z]之间的字符串,则可以使用regular expression删除输入的字符:

请注意,这只会检查小写字符:

$('#agent_name_validation').on('input', function () {
  if (!/[a-z]$/.test(this.value)) {
    this.value = this.value.slice(0, -1);
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="agent_name_validation" type="text">

答案 3 :(得分:0)

尝试添加jQuery验证gem https://github.com/meowsus/jquery-validation-rails 进行大量验证的简便方法 所有验证已准备就绪,您只需使用 他们准备好的方法

myField:{仅字母:true}

就完成了。 祝你好运。

答案 4 :(得分:0)

@Suman Das

尝试此代码,仅在输入文本字段中输入字符串:

<!DOCTYPE html>

    <html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width">
      <title>Javascript Demo</title>
    </head>
    <body>

      <form action="/data.php" method="get">
        <input type="text" name="fullName" onkeypress="return (event.charCode > 64 && 
        event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)" 
        placeholder="Full Name">
        <input type="submit">  
      </form>

    </body>
    </html>

我希望以上代码对您有用。

谢谢。