Find the regex used by HTML5 forms for validation

前端 未结 3 1303
别跟我提以往
别跟我提以往 2021-02-07 02:57

Some HTML5 input elements accept the pattern attribute, which is a regex for form validation. Some other HTML5 input elements, such as, input type=email

3条回答
  •  攒了一身酷
    2021-02-07 03:42

    The HTML5 spec currently lists a valid email address as one matching the ABNF:

    1*( atext / "." ) "@" ldh-str *( "." ldh-str )
    

    which is elucidated in this question. @SLaks answer provides a regex equivalent.

    That said, with a little digging through the source, shows that WebKit implemented email address validation using basically the same regex as SLaks answer, i.e.,

    [a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*
    

    However, there is no requirement that email addresses be validated by a regex. For example, Mozilla (Gecko) implemented email validation using a pretty basic finite state machine. Hence, there needn't be a regex involved in email validation.

提交回复
热议问题