Server side validation is always more secure, however, if it is a non-critical function then javascript is faster. For example, if I am going to compare two passwords together when a user wants to change his/her password, I use javascript since it is faster and if they really wanted to download the form and alter it to not check, then that's fine, it just takes whatever they typed in the first box anyway.
However, if I was to try and validate a credit card or some other confidential information, then I would prefer to use server-side scripting to figure this out. Maybe with the exception of the length of the credit card. I would probably use javascript for that.
Of course, I would probably want to validate that too once it got server-side.