用于检测名字和/或姓氏的正则表达式

时间:2016-02-04 09:02:11

标签: html html5 design-patterns text input

请帮我在文本输入字段中构建一个模式,

<input name="BusinessOwner" type="text" id="BusinessOwner" pattern="?">

但规则是此输入字段仅允许英语小写字母和/或大写字母(包含/排除空格)且不包含数字数字。所以根据规则,

Adam Smith => valid
adam => valid
AB CD => valid
abcd12 => Invalid
abcd 12 => Invalid

请帮我构建模式。

4 个答案:

答案 0 :(得分:0)

使用keyCode来限制输入..它不允许您输入数字。这是您可以根据自己的情况修改的基本逻辑

jQuery.fn.forceNumeric = function() {

  return this.each(function() {
    $(this).keydown(function(e) {
      var key = e.which || e.keyCode;

      if (!e.shiftKey && !e.altKey && !e.ctrlKey &&   key > 64 && key <= 123 || (key==32 || key ==8)
)
        return true;

      return false;
    });
  });
}
$(document).ready(function() {
  $(".numberinput").forceNumeric();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="txtNumber1" id="txtNumber1" value="" class="numberinput" />

仅供参考http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

<强>更新

$(function() {

    $("#field").bind("keyup", function(event) {
        var regex = /^[a-zA-Z\s]+$/;
        if (regex.test($("#field").val())) {
            $('.validation').html('valid');
        } else {
            $('.validation').html("not valid");
        }
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="field" />

<div class="validation"></div>
或者

<input name="lorem" onkeyup="this.value=this.value.replace(/[^a-z]/g,'');">

我认为你需要jquery或javascript for regex ..

答案 1 :(得分:0)

很抱歉,但我只知道php中的答案

$str =$_POST['BusinessOwner'];
if (preg_match('#[0-9]#',$str))
  {
  echo 'number not allowed';
  }

答案 2 :(得分:0)

我建议你使用这种模式:

^([A-Za-z]+[,.]?[ ]?|[A-Za-z]+['-]?)+$

决赛:

<input name="BusinessOwner" type="text" id="BusinessOwner" pattern="^([A-Za-z]+[,.]?[ ]?|[A-Za-z]+['-]?)+$">

希望这会有所帮助。

答案 3 :(得分:0)

比接受的答案更简单的正则表达式。

^[a-zA-Z\s]+$-允许A-Z,a-z和空格中的任何字符
^[a-zA-Z\s]{3,20}$-允许A-Z,a-z和空格中的任何字符,最小和最大长度分别为3和20。
^([a-zA-Z]+\s)*[a-zA-Z]+$-允许A-Z,a-z中的任何字符以及单词之间的单个空格。