This pattern works for the text input on 'Name' and 'Surname' fields in my HTML5 contact form (despite the ampersand throwing an error on the W3C Validator):
$clientsidepattern = "^[^0-9\.,\/#!?$%\^&\*;:{}=\_`~()]+$";
Nevertheless I would like the pattern to match as closely as possible the server-side validation in unicode which goes like this:
$serversidepattern = '/^[\'\p{L}\p{Pd}\p{Zs}]{1,35}+$/u';
However, both this
$clientsidepattern = "^[^\u0000-\u0080]+$";
and this
$clientsidepattern = "^[^\u0021-\u0026\u0028-\u002C\u002E-\u0060\u007B-\u007F\u0080-\u009F\u00A1-\u00BF\u00D7\u00F7\u2014-\u2018\u2020-\u206F]+$";
fail to work as patterns on the input.

I understand that javascript does not offer equivalent support for the PHP unicode properties but I would have thought that explicit code blocks should be recognisable. Am I missing something about the spec for javascript pattern validation in HTML5? Or are my regex solutions just wrong?