我尝试使用jQuery Validator进行验证,如果输入只包含空格,并且只有在其中包含空格时才允许空格。
请注意,如果名称包含数字,它也应显示错误。如果以字母开头,则仅允许空格。
这是我到目前为止只允许字母和空格:
jQuery.validator.addMethod("letterswithspace", function(value, element) {
return this.optional(element) || /^[a-z\s]+$/i.test(value);
}, "letters only");
还尝试了这个,但它修剪了字符串,并且不能在名称之间添加空格:
first_name : {
letterswithspace : true,
required: {
depends:function(){
$(this).val($.trim($(this).val()));
return true;
}
}
}
答案 0 :(得分:4)
符合条款:
您需要使用此正则表达式:
/^[a-z][a-z\s]*$/
所以在你的js中它应该是:
jQuery.validator.addMethod("letterswithspace", function(value, element) {
return this.optional(element) || /^[a-z][a-z\s]*$/i.test(value);
}, "letters only");
<强>解释强>
^[a-z]
表示以一个字母开头[a-z\s]*$
表示接受零个或多个字母或空格后有效句子
如果你想要一个有效的句子结构:
使用:
/^([a-z]+\s)*[a-z]+$/
顺便说一下
a-z
,请使用a-zA-Z
答案 1 :(得分:1)
您需要使用此正则表达式: -
bind_exe_to_hotkey(exe,hotkey)
{
run_label:
Run, %exe%
WinWait, ahk %exe%
WinActivate
Return
HotKey, %hotkey%, run_label
}
bind_exe_to_hotkey("cmd.exe","#c")
使用Javascript没有Jquery Validator的示例: - 工作正常Javascript Example
希望它的工作!!
答案 2 :(得分:1)
验证包括:
姓名不允许输入数字。
名称仅允许使用字母,不允许使用任何特殊字符。
<html>
<body>
<label>Full Name:</label>
<input type="text" class="form-control name-valid">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('.name-valid').on('keypress', function(e) {
var regex = new RegExp("^[a-zA-Z ]*$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
}
e.preventDefault();
return false;
});
});
</script>
</body>
</html>
对于演示,请点击here!
答案 3 :(得分:0)
/^[a-z][a-z\s]*$/i.test(value) // 不区分大小写
答案 4 :(得分:-1)
jQuery.validator.addMethod("letterswithspace", function(value, element) {
return this.optional(element) || /^[a-zA-Z ]*$/.test(value); }, "letters only");