在HTML格式

时间:2018-06-01 05:21:28

标签: regex validation regex-negation

情境:

我在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

湾michael.clarke

℃。 jitendra123.gurung

等等。

2。但它不应该允许以下表达式:

一个。 john.mayor@gmail.com

湾jitendra.gurung @

℃。萨拉德@

d。 michael.clarke@outlook.com

等等。

我在上面尝试的正则表达式的实现中需要进行哪些更正?

非常感谢您的建议。

3 个答案:

答案 0 :(得分:1)

尝试:

/^([a-z0-9]*([.])*([a-z0-9]))+(?!outlook.com.np)(?!gmail.com)/mg

它采用JS模式,请为输入字段更改

Demo

答案 1 :(得分:0)

也许我过于宽松地阅读您的要求,但是如何在正则表达式中使用^[^@]+$呢?它匹配您给出的所有测试用例。

答案 2 :(得分:0)

我修改了表达式,它符合验证所需的要求。

这是符合我要求的正确工作表达式:

^([a-z0-9]*([.])*([a-z0-9]))+(?!@)(?!outlook.com.np)(?!gmail.com)+$