Jquery: filter input on keypress

前端 未结 5 753
花落未央
花落未央 2020-12-18 04:45

I have a text field, which will accept only the following characters:

Allowed characters: [a-z 0-9 + # - .]

This is the same filter SO

5条回答
  •  悲哀的现实
    2020-12-18 04:51

    /[^A-Za-z0-9+#-\.]/
    

    This negates the match of any one of those characters. To make it match more than one character, you have to use a + in there:

    /[^A-Za-z0-9+#-\.]+/
                      ^
    

    And now to match the whole string, you need to add anchors:

    /^[^A-Za-z0-9+#-\.]+$/
     ^                  ^
    

    EDIT: Okay, it seems that the - here is also creating a range from character # to .. In this case, you can either escape it, or put it at the end:

    /^[^A-Za-z0-9+#\-\.]+$/
    
    /^[^A-Za-z0-9+#\.-]+$/
    

提交回复
热议问题