我试图插入我的(工作)的验证脚本这段代码(我曾在网站上找到):检查特殊字符(;)在验证一个表单的JavaScript
if (register.username.match(/\W/)) {
alert('You have special characters on username field.');
return false;
}
它什么都没做,也阻止了整个脚本的工作。
这是HTML表单(不是整个事情):
<form name="register" method="POST" action="registar.php" onsubmit="return validateForm();">
<ul class="left-form">
<h2>Nova conta:</h2>
<li>
<input type="text" name="username" placeholder="Username" required/>
<div class="clear"> </div>
</li>
<li>
<input type="text" name="email" placeholder="Email" required/>
<div class="clear"> </div>
</li>
<li>
<input type="password" name="pass" placeholder="Password" required/>
<div class="clear"> </div>
</li>
<li>
<input type="password" name="pass_confirm" placeholder="Confirmar a password" required/>
<div class="clear"> </div>
</li>
<input type="submit" value="Registar">
<div class="clear"> </div>
</ul>
</form>
这是我Javscript代码(没有特殊字符检查):
function validateForm() {
if (register.username.value.length <= 2) {
alert("O username escolhido é demasiado curto.");
return false;
}
if (register.username.value.length > 20) {
alert("O username escolhido é demasiado longo.");
return false;
}
var x = register.email.value;
var atpos = x.indexOf("@");
var dotpos = x.lastIndexOf(".");
if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= x.length) {
alert("O email inserido parece ser inválido.");
return false;
}
if (register.username.value == register.pass.value) {
alert("Por questões de segurança, pedimos que use uma password diferente do seu nome de utilizador.");
return false;
}
if ((register.pass.value.length < 6) || (register.pass.value.length > 20)) {
alert("Certifique-se que a sua password tem entre 6 e 20 letras.");
return false;
}
if (register.pass.value != register.pass_confirm.value) {
alert("As passwords não condizem.");
return false;
}
return true;
}
忽略警报,因为它们是只有显示消息。
有人可以写一段代码来检查特殊字符(!,。+ *等)或告诉我我使用的代码有什么问题吗?
请显示表单和名称字段的HTML。 – 2015-01-21 11:35:33
如果我的名字中有这些字符会怎么样? ==> – 2015-01-21 11:35:49
只需抓住您在网站上找到的随机脚本并将其应用到您的代码中,但不理解它所做的并不是成功实现卓越开发的途径。花一些时间了解你工作的语言和环境,并且你可以在睡眠中做出这些改变。在这种情况下,您可能正在寻找[正则表达式](https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions)。 – 2015-01-21 11:37:54