Kobo form not accepting email addresses with multiple periods (in a regex)


I am troubleshooting a colleague’s Kobo form. There’s a text field for email which doesn’t work if someone enters an email that has too many periods. There are no constraints tied to this variable, so I’m not sure why certain values are not being accepted. I’m attaching a copy of the tool. Would appreciate any help!
aDavnNGwxuXCuEpSikP6wt.xlsx (8.1 KB)

Welcome back to the community forum. As it is, it seems that the text question email, does not have a constraint within the indicated point

You should add this to the section marked missing
regex(., ‘^[A-Za-z0-9._%±]+@[A-Za-z0-9-]+[.][A-Za-z]{2,}$’)

The process is explained within our support articles


1 Like

@SNB, to learn more on regex, feel free to go through our support article Restricting Text Responses With Regular Expressions. It has a lot of examples.

Hi @stephanealoo and @Kal_Lam , thanks for the prompt responses! As far as I understand, the regex constraint is used to restrict certain characters etc. right? What I am trying to do though is NOT add any restrictions since those who are filling out this form have email addresses with more than one period (.) and the form is currently not accepting those entries. I thought that because this is a text field, it would accept any characters. Are you suggesting that that is not the case, and I should use regex so that multiple periods will be accepted by this field? Thanks!

Have you tried what @stephanealoo has advised. It should solve your issue.

The issue @SNB is trying to explain is that the email regex described in the support article doesn’t match emails that have more than one dot after the @ sign, e.g., foo@bar.co.uk is considered an invalid email.

1 Like

Ha, I just logged an independent forum post about this: Request for edit to support article: Regex

1 Like

Hi @esario and @nat,

Following regex will let you add more than one dot after the initial dot. It won’t limit to 2 dots.

regex(., ‘^[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+[.][A-Za-z.]{2,}$’)