Близко, но не верно.
[a-z0-9._%+-]+@[usyd]+\.[edu]+\.[au]
[a-z0-9._%+-]+
достаточно просто Разрешить a-z или 0-9 или. или _ или% или + или -
@
разрешено только @
[usyd]+
разрешить один или несколько из u, s, y или d. Который может быть просто «ты»
\.
только разрешить.
Но предложение Остина также неверно:
[a-z0-9._%+-]+@(usyd)+\.(edu)+\.(au)
(usyd)+
позволит вам ввести 'usydusydusyd'
(edu)+
позволит вам ввести 'edueduedueduedu'
Нет смысла в скобках. и вам определенно не нужен '+'
, поскольку он позволяет один или более .
Вместо этого вы хотите это:
^[a-z0-9._%+-]+@usyd\.edu\.au$
Это позволит убедиться, что в начале строки не существует ничего странного («^») и что строка заканчивается на '@usyd.edu.au'
(«$»)
input:invalid {
background: red;
}
<input type="email", placeholder="Email" name="txtName" id="txtEmail" pattern="[a-z0-9._%+-]+@usyd\.edu\.au"/>