Javascript年龄验证
我目前正在做javascript验证,除了我的年龄验证之外,一切都很好。如果用户输入字符串类型的值,则必须向用户发出警告,以数字形式输入其年龄 我不太清楚该怎么做,所以非常感谢您的帮助 您将在if语句中看到我试图在validAge函数中执行的操作:第55行 这是我到目前为止的代码Javascript年龄验证,javascript,Javascript,我目前正在做javascript验证,除了我的年龄验证之外,一切都很好。如果用户输入字符串类型的值,则必须向用户发出警告,以数字形式输入其年龄 我不太清楚该怎么做,所以非常感谢您的帮助 您将在if语句中看到我试图在validAge函数中执行的操作:第55行 这是我到目前为止的代码 <!DOCTYPE HTML> <html> <head> <title>Question 1 / Vraag 1 - Basic JavaScript Vali
<!DOCTYPE HTML>
<html>
<head>
<title>Question 1 / Vraag 1 - Basic JavaScript Validaton / Basiese JavaScript validasie
</title>
<link rel="Stylesheet" type="text/css" href="style.css" />
<script language="javascript">
function validate()
{
var firstname = document.getElementById("firstname");
var surname = document.getElementById("surname");
var age = document.getElementById("age");
var email = document.getElementById("email");
if(notEmpty(firstname, "ENTER USERNAME"))
{
if(notEmpty(surname, "ENTER SURNAME"))
{
if(notEmpty(age, "ENTER AGE"))
{
if(validAge(age, "AGE MUST BE A NUMERIC VALUE"))
{
if(notEmpty(email, "ENTER EMAIL"))
{
if(emailValid(email, "ENTER A PROPER EMAIL ADDRESS"))
{
return emailValid();
}
}
}
}
}
}
return false;
}
function notEmpty(elem, helperMsg)
{
if(elem.value.length == 0)
{
alert(helperMsg);
elem.focus();
return false;
}
return true;
}
function validAge(elem, helperMsg)
{
var age = elem.value;
if(age <= 0 || age > 100 || age.type == string???))
{
alert(helperMsg);
return false;
}
return true;
}
function emailValid(elem, helperMsg)
{
var atpos = elem.value.indexOf("@");
var dotpos = elem.value.lastIndexOf(".");
if(atpos < 0 || dotpos < 0)
{
alert(helperMsg);
return false;
}
return true;
}
</script>
</head>
<body>
<form method="get" action="">
<table>
<tr>
<td> Firstname:</td>
<td> <input type="text" name="firstname" id="firstname" /><span id="fnError">
</span></td>
</tr>
<tr>
<td> Surname:</td>
<td> <input type="text" name="surname" id="surname"/><span id="snError">
</span></td>
</tr>
<tr>
<td> Age:</td>
<td> <input type="text" name="age" id="age"/><span id="aError">
</span></td>
</tr>
<tr>
<td> Email:</td>
<td><input type="text" name="email" id="email"/><span id="eError">
</span></td>
</tr>
<tr><td colspan="2"><input type="button" value="Validate" onClick="validate()" /></td></tr>
</table>
</form>
</body>
</html>
问题1/Vraag 1-基本JavaScript验证/Basiese JavaScript验证
函数验证()
{
var firstname=document.getElementById(“firstname”);
var姓氏=document.getElementById(“姓氏”);
var age=document.getElementById(“age”);
var email=document.getElementById(“电子邮件”);
if(notEmpty(firstname,“输入用户名”))
{
if(notEmpty(姓氏,“输入姓氏”))
{
if(notEmpty(年龄,“输入年龄”))
{
if(有效期(年龄,“年龄必须是数值”))
{
如果(notEmpty(电子邮件,“输入电子邮件”))
{
如果(emailValid(电子邮件,“输入正确的电子邮件地址”))
{
返回emailValid();
}
}
}
}
}
}
返回false;
}
函数notEmpty(elem,helperMsg)
{
if(elem.value.length==0)
{
警报(helperMsg);
元素焦点();
返回false;
}
返回true;
}
功能有效性(elem、helperMsg)
{
变量年龄=元素值;
if(age 100 | | age.type==字符串??)
{
警报(helperMsg);
返回false;
}
返回true;
}
函数emailValid(elem,helperMsg)
{
var atpos=元素值indexOf(“@”);
var dotpos=元素值lastIndexOf(“.”);
如果(atpos<0 | | dotpos<0)
{
警报(helperMsg);
返回false;
}
返回true;
}
名字:
姓:
年龄:
电邮:
您可以使用该功能 您可以使用该功能 使用RegExp检查它是否为有效年龄。像isNaN
这样的方法仍然允许使用浮点数,尽管我从未听人说过我的年龄是十二点三
:
另一个提示:除了嵌套数百个if
-条件,还可以使用逻辑&&
(AND)运算符
if(a){
if(b){
if(c){
...
可缩短为:
if(a && B && c){
使用RegExp检查它是否为有效年龄。像
isNaN
这样的方法仍然允许使用浮点数,尽管我从未听人说过我的年龄是十二点三
:
另一个提示:除了嵌套数百个if
-条件,还可以使用逻辑&&
(AND)运算符
if(a){
if(b){
if(c){
...
可缩短为:
if(a && B && c){
我想这就是你想要的:
if(isNaN(age) || age <= 0 || age > 100))
此外,我将避免嵌套所有if
语句。您可以在每次返回后返回,如下所示:
if(notEmpty(firstname, "ENTER USERNAME")) return false;
if(notEmpty(surname, "ENTER SURNAME")) return false;
if(notEmpty(age, "ENTER AGE")) return false;
/// skip a few ...
return emailValid();
顺便说一句,有些人已经超过100岁了。此应用程序将不利于他们的用户体验。我认为这正是您想要的:
if(isNaN(age) || age <= 0 || age > 100))
此外,我将避免嵌套所有if
语句。您可以在每次返回后返回,如下所示:
if(notEmpty(firstname, "ENTER USERNAME")) return false;
if(notEmpty(surname, "ENTER SURNAME")) return false;
if(notEmpty(age, "ENTER AGE")) return false;
/// skip a few ...
return emailValid();
顺便说一句,有些人已经超过100岁了。此应用程序将不利于他们的用户体验。请使用以下方法尝试此操作:
功能有效性(elem,helperMsg)
{
变量年龄=元素值;
//如果年龄不是一个数字,至少不是1,大于100,或者有一个小数位。
如果(isNaN(年龄)| |年龄100 | |年龄指数(“.”>=0)
{
警报(helperMsg);
返回false;
}
返回true;
}
尝试使用以下方法:
功能有效性(elem,helperMsg)
{
变量年龄=元素值;
//如果年龄不是一个数字,至少不是1,大于100,或者有一个小数位。
如果(isNaN(年龄)| |年龄100 | |年龄指数(“.”>=0)
{
警报(helperMsg);
返回false;
}
返回true;
}
以上所有答案都是正确的。。如果你想到可重用性,请看看这个。它可以轻松地验证表单 以上所有答案都是正确的。。如果你想到可重用性,请看看这个。它可以轻松地验证表单
<html>
<head>
<title>Name</title>
<script>
function validatetext()
{
if(document.sign.fname.value=="")
{
alert("Missing First name!");
}
if(isNaN(document.sign.age())
{
alert("Enter numaric");
}
}
</script>
</head>
<body><form method=post name="sign">
<b>name:</b>
<input name="fname" type="text" size="30" maxlength="30" />
<br>
<b>age:</b>
<input name="age" type="text" size="30" maxlength="30" />
<input type="submit" name="signup" value="sign up" onclick="validatetext();" />
</form>
</body>
</html>
名称
函数validatetext()
{
if(document.sign.fname.value==“”)
{
警报(“缺少名字!”);
}
if(isNaN(document.sign.age())
{
警报(“输入numaric”);
}
}
姓名:
年龄:
名称
函数validatetext()
{
if(document.sign.fname.value==“”)
{
警报(“缺少名字!”);
}
if(isNaN(document.sign.age())
{
警报(“输入numaric”);
}
}
姓名:
年龄:
但如果用户决定将其作为