Home > Net >  [partially solved]Javascript Regex for allowing all non-english alphabets , hyphen and underscore an
[partially solved]Javascript Regex for allowing all non-english alphabets , hyphen and underscore an

Time:10-27

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:

ab_c
åb-ç
的å

Disallowed patterns

å!_
å123
!_!

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

/[^\u0000-\u007F]/.test("ji");

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

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

/[^a-z\_\-\u0000-\u007F]/.test("ji");

CodePudding user response:

Well, the regex you gave at the end of the answer incorrectly excludes _ and -. The same thing that allows _ and - is /[^a-z\u0000-\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!?@#$%^&*() \\=[\]{};':"|,.<>/]/

  • Related