Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript str.replace中的白名单_Javascript_Php_Html - Fatal编程技术网

Javascript str.replace中的白名单

Javascript str.replace中的白名单,javascript,php,html,Javascript,Php,Html,我用这个代码来替换每个名字中有网站链接的人,把它改成无 Username-Somewebsite.com->Username- 为此,我使用以下代码: name.replace(/([a-zA-Z0-9\-]*\.com)/g, ''); 但我想让它这样当用户使用我的网站地址在他们的名字不删除它,例如 Username-Mywebsitename.com->Username-Mywebsitename.com最简单的方法是对replace()使用回调函数并删除特定字符串上的匹配项 var my

我用这个代码来替换每个名字中有网站链接的人,把它改成无

Username-Somewebsite.com
->
Username-

为此,我使用以下代码:

name.replace(/([a-zA-Z0-9\-]*\.com)/g, '');
但我想让它这样当用户使用我的网站地址在他们的名字不删除它,例如


Username-Mywebsitename.com
->
Username-Mywebsitename.com
最简单的方法是对
replace()
使用回调函数并删除特定字符串上的匹配项

var mySite = 'Somewebsite.com';

var name   = "Username - Somewebsite.com";

var result = name.replace(/([a-zA-Z0-9\-]*\.com)/g, function(what) {
    return what === mySite ? what : "";
});

最简单的方法是只对
replace()
使用回调函数,并删除特定字符串上的匹配项

var mySite = 'Somewebsite.com';

var name   = "Username - Somewebsite.com";

var result = name.replace(/([a-zA-Z0-9\-]*\.com)/g, function(what) {
    return what === mySite ? what : "";
});

近乎纯的正则表达式解决方案:

/\s+\-\s+(?!Mywebsite\.com)([a-zA-Z0-9\-]+)\.com/i
工作示例:
var regex=/\s+\-\s+(?!Mywebsite\.com)[a-zA-Z0-9\-]+\.com/i
var string='Username-Somewebsite.com'
变量输出='Username-'
console.log('Match:',string)
console.log('Result:',string.replace(regex,'-'))
console.log('Correct:',(string.replace(regex,'-'))==output==true)
console.log(“”)//新行
var字符串='Username-Mywebsite.com'
var输出='Username-Mywebsite.com'
console.log('Match:',string)
console.log('Result:',string.replace(regex,'-'))

console.log('Correct:',(string.replace(regex,'-'))==output==true)
近乎纯regex解决方案:

/\s+\-\s+(?!Mywebsite\.com)([a-zA-Z0-9\-]+)\.com/i
工作示例:
var regex=/\s+\-\s+(?!Mywebsite\.com)[a-zA-Z0-9\-]+\.com/i
var string='Username-Somewebsite.com'
变量输出='Username-'
console.log('Match:',string)
console.log('Result:',string.replace(regex,'-'))
console.log('Correct:',(string.replace(regex,'-'))==output==true)
console.log(“”)//新行
var字符串='Username-Mywebsite.com'
var输出='Username-Mywebsite.com'
console.log('Match:',string)
console.log('Result:',string.replace(regex,'-'))

console.log('Correct:',(string.replace(regex,'-'))==output==true)
如果我删除它,它也会为其他网站删除。我有我的链接要被列入白名单。嘿,谢谢你的回复。它应该是。com。我复制错了。看到你的评论要求@adeneo进入Skype,这里的用户提供这种帮助并不常见。试着用你认为最好的策略来推动你自己,当你陷入困境时,在Stack Overflow上发布更多的问题。如果你的问题很清楚,经过深思熟虑,总会有人乐于帮忙。如果我把它删除了,其他网站也会被删除。我有我的链接要被列入白名单。嘿,谢谢你的回复。它应该是。com。我复制错了。看到你的评论要求@adeneo进入Skype,这里的用户提供这种帮助并不常见。试着用你认为最好的策略来推动你自己,当你陷入困境时,在Stack Overflow上发布更多的问题。如果你的问题很清楚,经过深思熟虑,总会有人乐于帮助你。你好,非常感谢你的回复。但是我用的是这个
name=name.replace(/([a-zA-Z0-9\-]*\.com)/g')
name=name.replace(/([a-zA-Z0-9\-]*\.net)/g')
name=name.replace(/([a-zA-Z0-9\-]*\.us)/g')
name=name.replace(/([a-zA-Z0-9\-]*\.gg)/g')我的网站域名是:CSGO-Sharks.com。如果他们在名称字符串中使用“我的域名”,则不应执行任何操作。但是,如果他们像CSGOWild.com这样使用其他东西,那么应该将其替换为零。那么为什么不将所有奇怪的替换封装在
if
条件中,比如
if(name.indexOf(“CSGO Sharks.com”)=====-1{replace stuff}
嘿,adeneo,我可以将您添加到skype中吗?您好,非常感谢您的回复。但是我用的是这个
name=name.replace(/([a-zA-Z0-9\-]*\.com)/g')
name=name.replace(/([a-zA-Z0-9\-]*\.net)/g')
name=name.replace(/([a-zA-Z0-9\-]*\.us)/g')
name=name.replace(/([a-zA-Z0-9\-]*\.gg)/g')我的网站域名是:CSGO-Sharks.com。如果他们在名称字符串中使用“我的域名”,则不应执行任何操作。但是如果他们像CSGOWild.com这样使用其他东西,那么应该将其替换为零。那么为什么不将所有奇怪的替换封装在
if
条件中,比如
if(name.indexOf(“CSGO Sharks.com”)=====-1{replace stuff}
嘿,adeneo,我可以将你添加到skype中吗?谢谢你的回复。没问题!通过点击左上角的灰色复选标记,将最接近你所寻找的答案标记为“正确”。谢谢你的回答。通过点击左上角的灰色复选标记,将最接近你所寻找的答案标记为正确。