Как запретить (проверять) кириллицу при вводе email

5

Добрый день всем! Как в некоторых полях (в особенности в email) запретить ввод символов на кириллице? У нас частенько на сайте покупатели вводят символы на кириллице, которые визуально идентичны латинице (а, с, е и т.д.). Есть ли такой плагин?

1 комментарий

  • +4
    EnsoStudio EnsoStudio 11 июля 2021 15:50 #

    Лучше не запрещать, а автоматом конвертировать в латиницу.

    $('body').on(
    	'change',
    	'input[name="data[email]"],input.wa-email,input[name="login"]',
    	function () {
    		var $this = $(this);
    		$this.val(
    			$this.val().replace(
    				/[А-Яа-я]/g,
    				function (symbol) {
    					var cyr = ['о', 'а', 'с', 'х', 'р', 'е', 'к', 'м', 'т', 'О', 'А', 'С', 'Х', 'Р', 'Е', 'К', 'М', 'Т', 'B', 'Н'],
    						lat = ['o', 'a', 'c', 'x', 'p', 'e', 'k', 'm', 't', 'O', 'A', 'C', 'X', 'P', 'E', 'K', 'M', 'T', 'B', 'H'];
    					return lat[cyr.indexOf(symbol)] || symbol;
    				}
    			)
    		);
    	}
    );

    Подобный функционал проще добавить в тему дизайна в основной js файл, для темы Default это default.js:

    $(function () {
        $('input[name="data[email]"],input.wa-email,input[name="login"]').attr('pattern', '^[-_@.a-zA-Z0-9]+$');
    });

    Добавить комментарий

    Чтобы добавить комментарий, зарегистрируйтесь или войдите