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

问题描述 投票:1回答:4

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

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

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

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

请帮我构建模式。

html html5 design-patterns text input
4个回答
0
投票

我建议你使用这个模式:

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

最后:

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

希望这会有所帮助。


0
投票

对不起,但我只知道答案在PHP

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

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

UPDATE

$(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>
Or
<input name="lorem" onkeyup="this.value=this.value.replace(/[^a-z]/g,'');">

我认为你需要jquery或javascript正则表达式..


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中的任何字符和单词之间的单个空格。

© www.soinside.com 2019 - 2024. All rights reserved.