[英]RegExp: How to match only letters
I have been attempting to add this error check part in var letters
for another 8 lines but it seems to completely destroy my entire error check when I add these lines. 我一直在尝试为其他8行在var letters
添加此错误检查部分,但是当我添加这些行时,它似乎完全破坏了我的整个错误检查。
In summary 综上所述
var letters = /^[A-Za-z]+$/;
if(username.value.match(letters)) {
myerror += "Username is good. <br>";
} else {
myerror += "Username can only have letters. <br>";
}
More context: 更多内容:
<script>
function valfunc() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var confirm = document.getElementById("confirm").value;
var age = document.getElementById("age").value;
var myerror = "";
if (username.length == 0) {
myerror += "Username field has been left blank. <br>";
}
if (password.length == 0) {
myerror += "Password field has been left blank. <br>";
}
if (confirm.length == 0) {
myerror += "Confirm field has been left blank. <br>";
}
if (age.length == 0) {
myerror += "Age field has been left blank. <br>";
}
if ((username.length < 5) || (username.length > 15)) {
myerror +=
"Username should be between 5 and 15 characters long. <br>";
}
if (password !== confirm) {
myerror += "Password and Confirm input text box values should match. <br>";
}
var letters = /^[A-Za-z]+$/;
if (username.value.match(letters)) {
myerror += "Username is good. <br>";
} else {
myerror += "Username can only have letters. <br>";
}
if (age <= 0) {
myerror += "Age should be a positive integer. <br>";
} else {
if ((age < 18) || (age > 110)) {
myerror += "Age should be between the values 18 and 110. <br>";
}
}
document.getElementById("output").innerHTML = myerror;
if (myerror.length > 1) {
return false;
} else {
return true;
}
}
</script>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
</script>
remove the username.value
use username.you are not using the exact username.value
should be undefined
it will throw error while you use username.value.match()
删除username.value
使用用户名。您没有使用确切的username.value
应undefined
,当您使用username.value.match()
会引发错误
var letters = /^[A-Za-z]+$/;
if(username.match(letters))
{
myerror +=
"Username is good. <br>";
}
else{
myerror +=
"Username can only have letters. <br>";
}
Here lies the error 错误就在这里
if(username.value.match(letters))
username
is string, not an object as you have already taken value from object here username
是字符串,不是对象,因为您已经从此处获取了对象的值
var username = document.getElementById("username").value;
thats why it is giving error, it should be 多数民众赞成在为什么它给错误,这应该是
if(username.match(letters))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.