[partially solved]Javascript Regex for allowing all non-english alphabets , hyphen and underscore and block everythinh else?

In Javascript, I need to allow alphabets of all (or preferrably accented characters and chinese) languages, hyphen and underscore. I need to disallow special characters and numerals. I looked at many answers but couldn’t find anything that matches my needs.

Allowed patterns:


Disallowed patterns


Please share with me if you have a snippet.. I am on a deadline and freaking out 🙁

Edit: The following regex matches all non-English characters. If I can alphabets and hypehn and underscore, it would be complete


I got this snippet from this link: https://stackoverflow.com/a/46413244

I added alphabtes, -, _ like below but it fails. Can anyone help?



Well, the regex you gave at the end of the answer incorrectly excludes _ and -. The same thing that allows _ and – is /[^a-zu0000-u007F]|[_-]/

Edit: But what you really want is: /[^u0000-u007F]|[a-zA-Z-_]/

Or manually exclude all the special characters you want to: /[^(0-9!?@#$%^&*()+\=[]{};':"|,.<>/]/