와 양식을 확인하는 동안 내 (작업) 검증 스크립트에 (I 웹 사이트에서 발견했다)이 코드 조각 삽입을 시도 :확인 (,,.) 자바 스크립트
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;
}
이 경고를 무시 메시지 만 표시합니다.
누군가 특수 문자 (!,. + * 등)를 확인하는 코드를 쓰거나 내가 사용했던 코드의 문제점을 알려주시겠습니까?
if (register.username.value.match(/\W/)) {
alert('You have special characters on username field.');
return false;
}
의 차이점은 무엇입니까 :
양식과 이름란의 HTML을 보여주십시오. –
내 이름에 그 문자가 있다면? ==> –
웹 사이트에서 찾은 무작위 스크립트를 잡아 코드에 적용하면 개발 우수성에 대한 성공적인 경로가 아닙니다. 당신이 일하는 언어와 환경에 대해 배우는 시간을 가지십시오. 그러면 당신은 이러한 종류의 변화를 당신의 수면에서 할 수있을 것입니다. 이 경우에는 [정규식] (https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions)을 찾고있을 것입니다. –