Убедитесь, что в начале формы поле ввода никогда не используется - PullRequest
0 голосов
/ 28 июня 2018

Я ищу решение, обеспечивающее, чтобы символ = не использовался ни для одного ввода в форме.

    <form>
        <input name="email" type="email" placeholder="Email" required="">
        <input name="last name" type="text" placeholder="Last Name">
        <input name="idnumber" type="number" placeholder="ID Number">
    </form>

Я теперь должен заполнить поля типа email и номер, но не уверен, что это можно взломать. Так что, возможно, используйте некоторые проверки для тех же

Я думал, что регулярное выражение может быть ответом, оно почти работает. Просто нужно настроить (оба результата должны просто показать текст «test1» и «test2» с = обнаженным) https://regex101.com/r/faYiuB/1/

Может ли это быть включено в поле ввода с помощью регулярного выражения, как моя первая попытка ниже?

<input type="text" pattern="^[^\=]" required>

https://css -tricks.com / форма-подтверждение-часть-1-ограничение-проверка-HTML /

Ответы [ 2 ]

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

Только не позволяйте им нажимать эту кнопку, вот пример того, как они не могут даже ввести знак = в любом месте текстового поля. Есть второй пример того, что он не должен быть первым персонажем.

window.notEqual = function notEqual(evt) {
  var charCode = (evt.which) ? evt.which : evt.keyCode;
  return charCode != 61;
}

window.notEqualAtStart = function notEqualAtStart(evt, target) {
  if (target.value != '')
    return true;

  var charCode = (evt.which) ? evt.which : evt.keyCode;
  return charCode != 61;
}
<input type="text" onkeypress="return window.notEqual(event)" />

<input type="text" onkeypress="return window.notEqualAtStart(event, this)" />
0 голосов
/ 28 июня 2018

Вы можете использовать шаблон [^=]+ для type="email" и type="text" здесь, поскольку шаблон регулярные выражения не применяются к полям type="number" (и вы не можете ни печатать, ни вставлять = в числовое поле):

<form>
  <input name="email" pattern="[^=]+" type="email" placeholder="Email" required="">
  <input name="last name" pattern="[^=]+" type="text" placeholder="Last Name">
  <input name="idnumber" type="number" placeholder="ID Number">
  <input type="Submit">
</form>

pattern="[^=]+" переводится в /^(?:[^=]+)$/ регулярное выражение (с модификатором u в Chrome и FireFox) и соответствует строке, состоящей из 1+ символов, отличных от =.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...