HTML 形式的正则表达式执行过程中遇到的问题
Issue faced during the implementation of the regex expression in HTML form
场景:
我已经在 https://www.regextester.com/ 中测试了以下正则表达式,它会根据需要执行验证。这意味着它不允许包含'@'字符的表达式。
面临的问题:
但是,当我在 HTML 中为表单验证实现相同的正则表达式时,它无法验证。这意味着它还允许包含“@”字符的表达式,这不是所需的结果。
这是正则表达式:
^[a-z0-9]+\.([a-z0-9])+(?!@)+(?!outlook.com)+(?!gmail.com)+$
以HTML形式实现为:
<td>
<input type="text" name="exchange_usertoadd" required="required"
pattern="^[a-z0-9]+\.([a-z0-9])+(?!@)+(?!outlook.com.np)+(?!gmail.com)+$"
placeholder="Enter Exchange Username" value="" size="30">
</td>
要求的结果:
1.上面的正则表达式应该允许以下表达式:
一个。 john.mayor
b。 michael.clarke
c。 jitendra123.gurung
等等。
2。但它不应该允许以下表达式:
一个。 john.mayor@gmail.com
b。 jitendra.gurung@
c。萨拉德@
d。 michael.clarke@outlook.com
等等。
我在上面尝试过的正则表达式的实现中需要什么修正?
非常感谢您的建议。
也许我对您的要求的理解过于松散,但是对您的正则表达式使用 ^[^@]+$
怎么样?它匹配所有给定的测试用例。
试一试:
/^([a-z0-9]*([.])*([a-z0-9]))+(?!outlook.com.np)(?!gmail.com)/mg
它是JS模式,请为您的输入字段更改它
我修改了表达式,它满足了我需要验证的要求。
这是符合我要求的正确工作表达式:
^([a-z0-9]*([.])*([a-z0-9]))+(?!@)(?!outlook.com.np)(?!gmail.com)+$
场景:
我已经在 https://www.regextester.com/ 中测试了以下正则表达式,它会根据需要执行验证。这意味着它不允许包含'@'字符的表达式。
面临的问题:
但是,当我在 HTML 中为表单验证实现相同的正则表达式时,它无法验证。这意味着它还允许包含“@”字符的表达式,这不是所需的结果。
这是正则表达式:
^[a-z0-9]+\.([a-z0-9])+(?!@)+(?!outlook.com)+(?!gmail.com)+$
以HTML形式实现为:
<td>
<input type="text" name="exchange_usertoadd" required="required"
pattern="^[a-z0-9]+\.([a-z0-9])+(?!@)+(?!outlook.com.np)+(?!gmail.com)+$"
placeholder="Enter Exchange Username" value="" size="30">
</td>
要求的结果:
1.上面的正则表达式应该允许以下表达式:
一个。 john.mayor
b。 michael.clarke
c。 jitendra123.gurung
等等。
2。但它不应该允许以下表达式:
一个。 john.mayor@gmail.com
b。 jitendra.gurung@
c。萨拉德@
d。 michael.clarke@outlook.com
等等。
我在上面尝试过的正则表达式的实现中需要什么修正?
非常感谢您的建议。
也许我对您的要求的理解过于松散,但是对您的正则表达式使用 ^[^@]+$
怎么样?它匹配所有给定的测试用例。
试一试:
/^([a-z0-9]*([.])*([a-z0-9]))+(?!outlook.com.np)(?!gmail.com)/mg
它是JS模式,请为您的输入字段更改它
我修改了表达式,它满足了我需要验证的要求。
这是符合我要求的正确工作表达式:
^([a-z0-9]*([.])*([a-z0-9]))+(?!@)(?!outlook.com.np)(?!gmail.com)+$