bab*_*113 17 javascript character limit textfield
我只需要允许用户在textinput中输入以下字符:
A-ZA-Z0-9 @#$%^*_!|
<form action="http://www.cknuckles.com/cgi/echo.cgi" method="get" name="logOn">
User Name:<br />
<input type="text" name="userName" size="25" /><br />
Password:<br />
<input type="password" name="pw" size="25" /><br />
<input type="submit" value="Log In" onClick="validate()"/>
</form>
Run Code Online (Sandbox Code Playgroud)
上面是我的HTML,下面是我试图用来验证它的JavaScript - 但它不起作用 - 任何线索.
<script language="javascript">
document.logOn.onsubmit=validate;
function validate(){
var name=document.logOn.pw.value;
if(!name = "[a-zA-Z0-9!@#$%^*_|]"){
alert("Your Password Cant Have any thing other than a-zA-Z0-9!@#$%^*_| - Play It Straight!");
return false;
}
return true;
}
</script>
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我仍然可以把字符放在">","<"和"{"等中.
有什么想法吗?
Ank*_*dse 38
您可以在输入文本中尝试如下:
<input type="text" pattern="[a-zA-Z0-9!@#$%^*_|]{6,25}" />
Run Code Online (Sandbox Code Playgroud)
所以代码更改如下所示:
<form action="#" method="get">
User Name:<br />
<input type="text" pattern="[a-zA-Z0-9!@#$%^*_|]{6,25}" /><br />
Password:<br />
<input type="password" /><br />
<input type="submit" value="Log In" />
</form>
Run Code Online (Sandbox Code Playgroud)
这将在不使用JavaScript的情况下完成.pattern可以用来代替.
它比表单验证更有效.
小智 5
用这个
<script language="javascript">
document.logOn.onsubmit=validate;
function validate(){
var name=document.logOn.pw.value;
var reg=/[^a-zA-Z0-9\!\@\#\$\%\^\*\_\|]+/;
if(reg.test(name)){
alert("Your Password Cant Have any thing other than a-zA-Z0-9!@#$%^*_| - Play It Straight!");
return false;
}
return true;
}
</script>
Run Code Online (Sandbox Code Playgroud)