【发布时间】:2020-10-09 13:38:59
【问题描述】:
在我的代码中,问题是它首先验证错误的输入,然后告诉用户再次输入,但是当用户再次输入错误时,它的验证失败并显示警报“正确输入”
编写一个程序来获取用户输入并存储用户名 在一个变量中。如果用户名包含任何特殊符号 之中 [@ 。 , !],提示用户输入有效的用户名。 对于 [@ 的字符代码。 笔记: 的ASCII码!是 33 的 ASCII 码是 44 的 ASCII 码。是 46 @的ASCII码是64
var userName=prompt("Enter your Input: ");
checkValidName(userName);
function checkValidName(un)
{
var message;
var split=[];
var arr=[];
for(var i=0;i<un.length;i++)
{
split[i]=un.split(" ");
arr[i]=un.charCodeAt(i);
if(arr[i]!=33||arr[i]!=44||arr[i]!=46||arr[i]!=64)
{
message="Correct User Name";
}
while(arr[i]==33||arr[i]==44||arr[i]==46||arr[i]==64)
{
alert("please enter a valid userName");
userName=prompt("Enter your Input: ");
split[i]=un.split(" ");
arr[i]=un.charCodeAt(i);
if(arr[i]!=33||arr[i]!=44||arr[i]!=46||arr[i]!=64)
{
message="correct in";
break;
}
}
}
alert(message);
}
【问题讨论】:
-
你不能简单地使用 if(!string.include('@')) 吗?
-
@dommilosz 不,我必须使用自己的验证来完成
-
@dommilosz 你的建议很有帮助 我以为我错了所以我可以应用它进行验证,但是 Internet 浏览器 11 和以前的版本不支持它,几乎很多用户仍在使用它
标签: javascript function validation for-loop prompt