Проблема, возникшая при реализации выражения регулярного выражения в форме HTML - PullRequest
0 голосов
/ 01 июня 2018

Сценарий:

Я протестировал следующее выражение регулярного выражения в 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.Приведенное выше выражение регулярного выражения должно содержать следующие выражения:

a.Джон.Майор

б.michael.clarke

c.jitendra123.gurung

и т. д.

2.Но он не должен допускать следующих выражений:

a.john.mayor@gmail.com

b.jitendra.gurung@

c.сарад @

д.michael.clarke@outlook.com

и т. д.

Какая коррекция мне нужна для реализации выражения регулярного выражения, которое я пробовал выше?

Предложения высоко ценятся.

Ответы [ 3 ]

0 голосов
/ 01 июня 2018

Попробуйте как:

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

Это в JS шаблон, пожалуйста, измените его для вашего поля ввода

Демо

0 голосов
/ 01 июня 2018

Я изменил выражение, и оно соответствует требованиям, которые мне нужны для проверки.

Это правильное рабочее выражение, которое соответствует моему требованию:

^([a-z0-9]*([.])*([a-z0-9]))+(?!@)(?!outlook.com.np)(?!gmail.com)+$
0 голосов
/ 01 июня 2018

Возможно, я читаю ваши требования слишком свободно, но как насчет использования ^[^@]+$ для вашего регулярного выражения?Он соответствует всем вашим заданным тестам.

...