javascript regex for special characters

前端 未结 12 791
囚心锁ツ
囚心锁ツ 2020-11-29 22:28

I\'m trying to create a validation for a password field which allows only the a-zA-Z0-9 characters and .!@#$%^&*()_+-=

I can\'t seem to

12条回答
  •  暖寄归人
    2020-11-29 22:47

    What's the difference?

    /[a-zA-Z0-9]/ is a character class which matches one character that is inside the class. It consists of three ranges.

    /a-zA-Z0-9/ does mean the literal sequence of those 9 characters.

    Which chars from .!@#$%^&*()_+-= are needed to be escaped?

    Inside a character class, only the minus (if not at the end) and the circumflex (if at the beginning). Outside of a charclass, .$^*+() have a special meaning and need to be escaped to match literally.

    allows only the a-zA-Z0-9 characters and .!@#$%^&*()_+-=

    Put them in a character class then, let them repeat and require to match the whole string with them by anchors:

    var regex = /^[a-zA-Z0-9!@#$%\^&*)(+=._-]*$/
    

提交回复
热议问题