Javascript拆分字符串只使用最后一个拆分参数
Javascript splitting string using only last splitting parameter
我想要得到的一个例子:
String1 - 'string.co.uk' - would return 'string' and 'co.uk'
String2 - 'random.words.string.co.uk' - would return 'string` and 'co.uk'
我现在有这个:
var split= [];
var tld_part = domain_name.split(".");
var sld_parts = domain_name.split(".")[0];
tld_part = tld_part.slice(1, tld_part.length);
split.push(sld_parts);
split.push(tld_part.join("."));
在我当前的代码中,它从一开始就接受split参数,如果可能的话,我想要反转它。在我当前的代码中,它是这样做的:
String1 - 'string.co.uk' - returns 'string' and 'co.uk'
String2 - 'random.words.string.co.uk' - would return 'random` and 'words.string.co.uk'
有什么建议吗?
根据elclars的注释展开:
function getParts(str) {
var temp = str.split('.').slice(-3) // grabs the last 3 elements
return {
tld_parts : [temp[1],temp[2]].join("."),
sld_parts : temp[0]
}
}
getParts("foo.bar.baz.co.uk")
将返回{ tld_parts : "co.uk", sld_parts : "baz" }
和
getParts("i.got.99.terms.but.a.bit.aint.one.co.uk")
将返回{ tld_parts : "co.uk", sld_parts : "one" }
try this
var str='string.co.uk'//or 'random.words.string.co.uk'
var part = str.split('.');
var result = part[part.length - 1].toString() + '.' + part[part.length - 1].toString();
alert(result);
我想到的一种方法是
var tld_part = domain_name.split(".");
var name = tld_part[tld_part.length - 2];
var tld = tld_part[tld_part.length - 1] +"."+ tld_part[tld_part.length];
根据您的用例,执行直接分割可能不是一个好主意—例如,上面的代码如何处理.com
,甚至只是localhost
?在这方面,我会走RegExp
路线:
function stripSubdomains( str ){
var regs; return (regs = /([^.]+)('.co)?('.[^.]+)$/i.exec( str ))
? regs[1] + (regs[2]||'') + regs[3]
: str
;
};
在正则表达式警察
上面的可以收紧作为对域名的检查,而不是检查
^.
,以检查域在那一点上允许的特定字符。然而,我个人对这类问题的看法是,在捕获点更开放,在以后的过滤点更强硬……这可以让你密切关注人们可能在尝试什么,因为你永远不能100%确定你的验证没有阻止有效的请求。,除非你有一群用户测试人员在你的处置。在一天结束的时候,这一切都取决于在哪里使用这些代码,所以上面只是一个说明的例子。
相关文章:
- 表追加而不附加最后一个元素
- 无法在Ionic select中预先选择最后一个选项
- 为什么画布形状只在3个画布中的最后一个画布上渲染
- Jquery append oly获取循环Rails中的最后一个elemen
- 如何创建更好的方式来维护基于我的代码访问的最后一个页面
- dataTables-如何自定义分页类型以显示最后一个页码后面的省略号,
- 多维关联数组的最后一个索引
- 无法获取vis.js最后一个或第一个选定的网络节点
- 循环以检查数组中的最后一个图像
- 从输入值中删除最后一个单词
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 如何从多个复选框中获取最后一个值
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- 使用querySelector()获取最后一个td元素
- Foreach循环只返回最后一个值
- Javascript拆分字符串只使用最后一个拆分参数
- 拆分有限制的字符串,其中最后一个字符串包含余数
- 拆分JavaScript字符串中的最后一个字值
- 拆分给定字符串并获取最后一个拆分值