请帮我在文本输入字段中构建一个模式,
<input name="BusinessOwner" type="text" id="BusinessOwner" pattern="?">
但规则是此输入字段仅允许英文小写字母和/或大写字母(包括/排除空格)和无数字数字。所以根据规则,
Adam Smith => valid
adam => valid
AB CD => valid
abcd12 => Invalid
abcd 12 => Invalid
请帮我构建模式。
我建议你使用这个模式:
^([A-Za-z]+[,.]?[ ]?|[A-Za-z]+['-]?)+$
最后:
<input name="BusinessOwner" type="text" id="BusinessOwner" pattern="^([A-Za-z]+[,.]?[ ]?|[A-Za-z]+['-]?)+$">
希望这会有所帮助。
对不起,但我只知道答案在PHP
$str =$_POST['BusinessOwner'];
if (preg_match('#[0-9]#',$str))
{
echo 'number not allowed';
}
使用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>
<input name="lorem" onkeyup="this.value=this.value.replace(/[^a-z]/g,'');">
我认为你需要jquery或javascript正则表达式..
比接受的答案更简单的正则表达式。
^[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中的任何字符和单词之间的单个空格。