Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
95
rated 0 times [  97] [ 2]  / answers: 1 / hits: 34578  / 13 Years ago, mon, june 6, 2011, 12:00:00

Been playing around with JavaScript, and what Im trying to do is only allow certain characters in the pass word field - a-z, A-Z and 0-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>


Above is my HTML, and Below is my JavaScript I tried to use to validate it - but it doesnt work - any clues.



<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 Funky Things In It - Play It Straight!);
return false;
}

return true;
}
</script>


But This isnt working. I can still put chars in like * and [ and { etc.



Any Thoughts?


More From » javascript

 Answers
3

You need to make your condition test a regexp, not a string:



if(!/^[a-zA-Z0-9]+$/.test(name)){ ...


meaning:




  • ^ -- start of line

  • [a-zA-Z0-9]+ -- one or more characters/numbers

  • $ -- end of line



or you could search for the inverse of that, which is any non-accepted character:



if(/[^a-zA-Z0-9]/.test(name)){

[#91844] Friday, June 3, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
rhiannab

Total Points: 370
Total Questions: 98
Total Answers: 100

Location: Samoa
Member since Mon, Nov 8, 2021
3 Years ago
;