请帮我在文本输入字段中构建一个模式,
<input name="BusinessOwner" type="text" id="BusinessOwner" pattern="?">
但规则是此输入字段仅允许英语小写字母和/或大写字母(包含/排除空格)且不包含数字数字。所以根据规则,
Adam Smith => valid
adam => valid
AB CD => valid
abcd12 => Invalid
abcd 12 => Invalid
请帮我构建模式。
答案 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中的任何字符以及单词之间的单个空格。