Regex matches but shouldn't

前端 未结 2 703
自闭症患者
自闭症患者 2021-01-21 12:47

This is my code that checks if there are only alphanumeric characters filled in, but when i enter something like adasd@#$ it still matches and i have no idea why. Any idea how t

相关标签:
2条回答
  • 2021-01-21 13:44

    Your regex [0-9a-zA-Z] checks for any alphanumeric character in the input string. Since it finds a, d, a, s, d in your input string, it returns true.
    What you need to do is place start and end enchors in your regex. New regex would look like this:

    ^[0-9a-zA-Z]+$
    
    0 讨论(0)
  • 2021-01-21 13:52

    What you have matches any string that contains one letter or number somewhere in it.

    You need to add anchors to the beginning and end of the string (^ and $), as well as a + to allow for more than one character:

    "^[0-9a-zA-Z]+$"
    

    This means "the entire string must be made of letters and numbers".

    The + also requires that there is at least one character in the string. This is probably a good thing, but if you want to match empty strings, as well, you can change it to *.

    0 讨论(0)
提交回复
热议问题