Как правильно искать кавычки в регулярном выражении, которое используется в шаблоне HTML 5 для элемента ввода? [Дубликат]

Вот некоторые подходы к работе с асинхронными запросами:
  1. Объект обезьяны браузера
  2. Q - A
  3. A + Promises.js
  4. jQuery отложен
  5. API XMLHttpRequest
  6. Использование концепции обратного вызова - как реализация в первом ответе

Пример: jQuery отложенная реализация для работы с несколькими запросами

var App = App || {};

App = {
    getDataFromServer: function(){

      var self = this,
                 deferred = $.Deferred(),
                 requests = [];

      requests.push($.getJSON('request/ajax/url/1'));
      requests.push($.getJSON('request/ajax/url/2'));

      $.when.apply(jQuery, requests).done(function(xhrResponse) {
        return deferred.resolve(xhrResponse.result);
      });
      return deferred;
    },

    init: function(){

        this.getDataFromServer().done(_.bind(function(resp1, resp2) {

           // Do the operations which you wanted to do when you
           // get a response from Ajax, for example, log response.
        }, this));
    }
};
App.init();
4
задан Volker E. 28 October 2014 в 03:25
поделиться

3 ответа

Регулярное выражение атрибута HTML5 @pattern основано на JavaScript regex, поэтому вы можете использовать шестнадцатеричную нотацию или unicode notation для этого символа, как в JavaScript:

" = \x22 OR \u0022
' = \x27 OR \u0027

Чтобы вы могли легко использовать

pattern="[^'\x22]+"

TADA! Нет библиотек JavaScript! ;)

23
ответ дан David Strencsev 26 August 2018 в 00:59
поделиться

Попробуйте использовать js-структуру, такую ​​как JQuery или PrototypeJS

, тогда вы можете сказать

onchange=(function() {...});

, что вы можете следить за тем, как использовать regex в jQuery через этот поток: Проверка правильности выражения в jQuery

-1
ответ дан Community 26 August 2018 в 00:59
поделиться

, если у вас есть браузер HTML5, вы можете написать

<input id="ipt_my_field" type="text" name="my_field_name" pattern="[^'"]+" 

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

if(!Modernizr.input.pattern) {
    var input = document.getElementById("ipt_my_field");
    input.addEvent('onblur', function(ip){
        if(ip.value.match(/[^'"]+/)) {
          // is a good
        } else {
          // is a bad
        }
    });
}
-1
ответ дан rkmax 26 August 2018 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: