RegEx рдЪрдпрдирдХрд░реНрддрд╛ jQuery рдХреЗ рд▓рд┐рдП

рд╣рд░ рдХреЛрдИ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ jQuery рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рд╣реИред рдЖрдЬ рд╣рдо рдПрдХ рдирдпрд╛ рдЪрдпрдирдХрд░реНрддрд╛ рдЬреЛрдбрд╝реЗрдВрдЧреЗ -: regexред



JQuery рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░



рдЙрди рдкреГрд╖реНрдареЛрдВ рдХреЗ рдиреАрдЪреЗ рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рди рдкрд░ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: regex-selectorред

jQuery.expr[':'].regex = function(elem, index, match) { var matchParams = match[3].split(','), validLabels = /^(data|css):/, attr = { method: matchParams[0].match(validLabels) ? matchParams[0].split(':')[0] : 'attr', property: matchParams.shift().replace(validLabels,'') }, regexFlags = 'ig', regex = new RegExp(matchParams.join('').replace(/^\s+|\s+$/g,''), regexFlags); return regex.test(jQuery(elem)[attr.method](attr.property)); } 


рдЙрдкрдпреЛрдЧ: regex



// рд╕рднреА DIV рдХреЛ рдЙрди рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЪреБрдирддрд╛ рд╣реИ рдЬрд┐рдирдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВ:

 $('div:regex(class,[0-9])'); 


// SRC рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓реЗ рд╕рднреА SCRIPT рдЯреИрдЧ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ jQuery рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ:

 $('script:regex(src,jQuery)'); 


// 100 рдФрд░ 300 рдХреЗ рдмреАрдЪ рдЪреМрдбрд╝рд╛рдИ рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓реЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ:

 $(':regex(css:width, ^[1-3]\\d{2}px$)'); 


рдЪреЗрддрд╛рд╡рдиреА! рдПрдХ рдПрдХрд▓ рдмреИрдХрд╕реНрд▓реИрд╢ рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рдбрдмрд▓ рдмреИрдХрд╕реНрд▓реИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП \\ d, \\ S, \\ /, \\ред

Source: https://habr.com/ru/post/In165197/


All Articles