你会如何使用正则表达式javascript来做到这一点
How would you do this with regular expression javascript?
我正在学习javascript,对正则表达式(正则表达式)感到困惑。有时可能是语法,但主要是我对正则表达式的理解很差。例如,对我来说var pattern = /^0+$/;
只是垃圾。
这个jQuery if/else语句可以转换为正则表达式方法吗?如果是这样,如何/为什么?
// Set header link widths based on how many there are
var nav = $('#nav_header a');
var navlinks = $('#nav_header').children('a').length;
if (navlinks == 1) {
nav.css('width', '100%');
} else if (navlinks == 2) {
nav.css('width', '50%');
} else if (navlinks == 3) {
nav.css('width', '32%');
} else if (navlinks == 4) {
nav.css('width', '25%');
} else if (navlinks == 5) {
nav.css('width', '20%');
} else if (navlinks == 6) {
nav.css('width', '16.6%');
} else if (navlinks == 7) {
nav.css('width', '14.25%');
} else if (navlinks == 8) {
nav.css('width', '12%');
} else if (navlinks == 9) {
nav.css('width', '11%');
} else if (navlinks == 10) {
nav.css('width', '10%');
} else {
nav.css('width', '8%');
}
是否有特定的技术来编写正则表达式JS,需要考虑的事项并尝试保持其人类可读性?
感谢您的帮助和建议:)
我的建议是,创建一个简单的查找数组:
var percents = ["100%", "50%", "32%", "25%", "20%", "16.6%", "14.25%", "12%", "11%", "10%", "8%"];
var nav = $('#nav_header a');
var navlinks = $('#nav_header').children('a').length;
navlinks == 0 ? nav.css("width", "8%") : nav.css("width", percents[navlinks - 1]);
var pattern =/^0+$/; 对我来说就像废话。
实际上这很简单,如果字符串仅包含 0
s,它才匹配该字符串。
这个jQuery if/else语句可以转换为正则表达式方法吗?如果是这样,如何/为什么?
不,它不能。正则表达式用于查找文本中的模式或围绕给定模式拆分文本或替换给定模式。不能使用它们代替条件语句。
你不需要正则表达式来:)
var nav = $('#nav_header a');
var navlinks = $('#nav_header').children('a').length;
var widths = ['100%', '50%', '32%', '25%', '20%', '16.6%', '14.25%', '12%', '11%', '10%']
nav.css('width', (navlinks >= 1 && navlinks <= 10) ? widths[navlinks-1] : '8%')
相关文章:
- Javascript递归函数引用了这一点
- 我想听听服务器上的更改,并相应地更新我的网页.我如何用Javascript做到这一点
- Javascript OOP-在异步回调中丢失了这一点
- 外部Javascript不起作用,即使我正确链接了它(至少我很确定这一点)
- 你会如何使用正则表达式javascript来做到这一点
- JavaScript 函数调用计时.实现这一点的最佳方法
- Javascript 在 Internet Explorer 中破坏属性的空值 - 如何让 IE 忽略这一点
- 需要挂接到javascript函数调用,无论如何都可以做到这一点
- 有人可以帮助我更多地理解这一点吗?Javascript选择
- 能够通过内容的 url 控制 iframe 大小的内容 - javascript 来利用这一点
- 由于引用了相同的javaScript文件,Kendo UI控件没有显示在网页上,如何克服这一点
- javascript新手试图弄清楚这一点
- 我可以'如果语句在Javascript:S中有效,则似乎不会实现这一点
- 需要在服务器中发送数据和访问数据的帮助.我想使用JavaScript(nodejs)来实现这一点
- Javascript (jQuery)闪光效果:如何做到这一点
- 在新窗口中打开PDF,打印PDF并关闭该窗口.如何在javascript中做到这一点
- JQuery/javascript:在网页上用简单的图片可以做到这一点吗(请查看下面的链接)
- 如何在Javascript, jQuery或Angular中实现这一点
- 我可以在JavaScript中做到这一点吗?如果未传递参数,则返回条件
- 我如何在javascript中做到这一点