我正在使用Jquery验证方法,我想检查字符串(名字或姓氏)是否包含数字
我的代码:
<html>
<head>
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.no-icons.min.css" rel="stylesheet">
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<link href="runnable.css" rel="stylesheet" />
<!-- Load jQuery and the validate plugin -->
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<!-- jQuery Form Validation code -->
<script>
// When the browser is ready...
$(function() {
// Setup form validation on the #register-form element
$("#register-form").validate({
// Specify the validation rules
rules: {
firstname: "required",
lastname: "required",
email: {
required: true,
email: true
},
password: {
required: true,
minlength: 5
},
agree: "required"
},
// Specify the validation error messages
messages: {
firstname: "Please enter your first name",
lastname: "Please enter your last name",
password: {
required: "Please provide a password",
minlength: "Your password must be at least 5 characters long"
},
email: "Please enter a valid email address",
agree: "Please accept our policy"
},
submitHandler: function(form) {
form.submit();
}
});
});
</script>
</head>
<body>
<h1>Register here</h1>
<!-- The form that will be parsed by jQuery before submit -->
<form action="" method="post" id="register-form" novalidate="novalidate">
<div class="label">First Name</div><input type="text" id="firstname" name="firstname" /><br />
<div class="label">Last Name</div><input type="text" id="lastname" name="lastname" /><br />
<div class="label">Email</div><input type="text" id="email" name="email" /><br />
<div class="label">Password</div><input type="password" id="password" name="password" /><br />
<div style="margin-left:140px;"><input type="submit" name="submit" value="Submit" /></div>
</form>
</body>
</html>
怎么做? 我想如果有人用数字填写他/她的名字或姓氏或者包含数字(如1234或john1234或1234john或jo1234hn ..),请按名称不正确
答案 0 :(得分:1)
您可以使用以下代码段检测字符串是否包含数字:
if(str.matches(".*\\d.*")){
// The string has a number, do whatever logic you need here.
}
else{
// The string does not have numbers in it.
}
答案 1 :(得分:0)
您可以在没有正则表达式的情况下执行此操作,并将自定义方法添加到jQuery验证器,如
$.validator.addMethod("textOnly",
function (value, element) {
var numArray =
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
var containsNumber = false;
$.each(value.split(''), function () {
if (numArray.indexOf($(this)[0]) > -1) {
containsNumber = true;
return false;
}
});
return !containsNumber;
},
);
答案 2 :(得分:0)
Kenneth说str.matches但它应该是str.match
if(str.match(".*\\d.*")){
// The string has a number, do whatever logic you need here.
}
else{
// The string does not have numbers in it.
}