• notarobot@lemmy.zip
    link
    fedilink
    arrow-up
    1
    ·
    22 hours ago

    I’m not sure I blame the sites. The spec is so complex that it’s not even possible to know which regex to use

    • ulterno@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      ·
      3 hours ago

      I have a feeling, the ones codapine is stating, didn’t even care to half-read the spec and just went with what they knew from experience.
      Maybe they didn’t even know there was a spec.
      Maybe they asked ChatGPT for the regex.

    • bignose@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      8 hours ago

      The spec is so complex that it’s not even possible to know which regex to use

      Yes. Almost like a regex is not the correct tool to use, and instead they should use a well-tested library function to validate email addresses.

      • notarobot@lemmy.zip
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        2 hours ago

        Exactly! But its not obvios. So most of those shitty websites don’t even know they have a problem.

        Then there are also people ignoring it on purpose. I once read a reddit comment saying 'well of your address looks like “John wick 🐶❤️”@2001:0db8:85a3:0000:0000:8a2e:0370:7334 I don’t event want your email in my DB because oit will break something

      • notarobot@lemmy.zip
        link
        fedilink
        arrow-up
        2
        ·
        20 hours ago

        That’s one very random place to find that. There are a lot of different one and there is no way we all just agree to use that one.

        Look art his site that shows a more complete and (in theory) official website. While also explaining that there is no regex that is perfect

        https://emailregex.com/

        (Compete regex for the lazy)

        (?:\[a-z0-9!#$%&'\*+/=?^\_\`{|}\~-]+(?:\\.\[a-z0-9!#$%&'\*+/=?^\_\`{|}\~-]+)\*|"(?:\[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])\*")@(?:(?:\[a-z0-9]\(?:\[a-z0-9-]\*\[a-z0-9])?\\.)+\[a-z0-9]\(?:\[a-z0-9-]\*\[a-z0-9])?|\\\[(?:(?:25\[0-5]|2\[0-4]\[0-9]|\[01]?\[0-9]\[0-9]?)\\.){3}(?:25\[0-5]|2\[0-4]\[0-9]|\[01]?\[0-9]\[0-9]?|\[a-z0-9-]\*\[a-z0-9]:(?:\[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\\])