我試圖插入我的(工作)的驗證腳本這段代碼(我曾在網站上找到):檢查特殊字符(;)在驗證一個表單的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