indexOf - 如何查找没有子域的域(javascript)

时间:2017-08-31 21:28:28

标签: javascript

var str = 'somedomain.com';

var str2 = 'the string that contains test.somedomain.com';

str2.indexOf(str);

问题是它与子域匹配,但是我需要只匹配一个确切的域,而不匹配子域如何做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以在域外创建RegExp来检查并测试它前面是否有点或字母/数字/下划线。 (也许只检查空间会更容易)

var str = 'somedomain.com';
var str2 = 'the string that contains test.somedomain.com';
let rx = new RegExp("(^|[^\\.\\w])" + str.replace(/\./g, '\\.') + "(,|\\s|$)");
console.log(rx.test(str2))

另一种选择是按空格分割字符串并检查结果数组是否包含字符串:

var str = 'somedomain.com';
var str2 = 'the string that contains test.somedomain.com';
console.log(str2.split(/\s/).indexOf(str) > -1);