• Как разрешить вводить только анлгийские буквы и цифры JavaScript?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    а вам какая разница, какие символы будут в пароле?
    вы все равно пароль захешируете, и даже сохранять его не должны в исходном виде.

    Однако, вы можете слушать событие oninput и проверять, что ввел пользователь.
    далее проверять регуляркой наличие "ненужных" символов, и например, выводить сообщение

    /[a-z0-9!@#$%^&*\(\)_\+]/i
    Ответ написан
    Комментировать
  • В чем отличие между attr и data?

    In4in
    @In4in
    °•× JavaScript Developer ^_^ ו°
    Метод jQuery.fn.attr служит для работы с атрибутами DOM-элемента.

    А метод jQuery.fn.data тут даже не рядом. Он позволяет сохранить какие-то данные в памяти jQuery, привязав их к конкретной js-сущности (DOM-элементу/другому объекту). А то, что jQuery для хранения значений простых типов по возможности использует data-атрибуты - это уже другая история. Иными словами - данный метод не предназначен для работы с атрибутами.

    Дополнение по технической части от пользователя @kurtov

    kurtov
    Важная особенность. В момент первого обращения к элементу, все атрибуты data-* будут считаны в память jQuery и доступны через метод jQuery.fn.data, но если добавить еще один атрибут (data-second-attr) то он не будет доступен через данный метод.


    Например элемент:
    <div attr="first" data-name1="second"></div>

    //Все доступно сразу
    $('div').attr('attr'); // 'first'
    $('div').attr('data-name1'); // 'second'
    $('div').data('name1'); // 'second'


    //Если добавить атрибут методом jQuery.fn.attr (изменение DOM)
    $('div').attr('data-name2', 'third');
    //то
    $('div').attr('data-name2'); // 'third'
    $('div').data('name2'); // undefined


    //Если 'добавить' атрибут методом jQuery.fn.data (нет изменений DOM)
    $('div').data('name3', 'four');
    //то
    $('div').attr('data-name3'); // undefined
    $('div').data('name3'); // 'four'


    Ответ написан
    3 комментария