Javascript 在输入字段中仅允许HTTPS URL
我正在使用一个WYSIWYG JavaScript编辑器,它允许通过粘贴URL来呈现图像 因此,您将URL粘贴到字段中,然后单击Javascript 在输入字段中仅允许HTTPS URL,javascript,jquery,ajax,trumbowyg,Javascript,Jquery,Ajax,Trumbowyg,我正在使用一个WYSIWYG JavaScript编辑器,它允许通过粘贴URL来呈现图像 因此,您将URL粘贴到字段中,然后单击确认按钮,然后将图像附加到编辑器中() 我想阻止添加非HTTPS的图像。因此,如果有人插入了一个非HTTPS的URL,我想防止在他们单击Confirm时追加图像 这是图像URL()的函数: 知道我如何修改此函数以仅允许HTTPS输入吗?您可以使用正则表达式来检查url中是否存在“HTTPS”,如url.match(/^HTTPS/)或使用url.startsWith('
确认
按钮,然后将图像附加到编辑器中()
我想阻止添加非HTTPS的图像。因此,如果有人插入了一个非HTTPS的URL,我想防止在他们单击Confirm
时追加图像
这是图像URL()的函数:
知道我如何修改此函数以仅允许HTTPS输入吗?您可以使用正则表达式来检查url中是否存在“HTTPS”,如url.match(/^HTTPS/)或使用url.startsWith('HTTPS')来查找url是否以HTTPS开头。我将使用正则表达式来检查这一点
var url = v.url;
然后使用match函数
url.match(/^https:\/\//);
注意不要使用
startsWith('https')
来检查此问题,因为并非所有浏览器都支持startsWith()
解决此问题的好方法是使用,或简称:Regex
Regex允许您验证字符串是否实际包含所需的数据。不过,regex的一个缺点是它需要大量的CPU。这就是为什么只有在没有其他函数可用的情况下才应该使用正则表达式。碰巧,还有另一个函数可用于此:
因此,更好的解决办法是:
var url = v.url;
if(!url.substr(0,7) === 'https://'){
return false;
}
var url = v.url;
if(!url.match(/^https:\/\//)){
return false;
}
虽然从长远来看,学习正则表达式肯定是有帮助的。一个网站,将帮助你很多这是。您最终会遇到其他解决方案根本不可用的情况。因此,使用正则表达式进行测试是一种很好的学习方法。使用regex,解决方案是:
var url = v.url;
if(!url.substr(0,7) === 'https://'){
return false;
}
var url = v.url;
if(!url.match(/^https:\/\//)){
return false;
}
var url=v.url;如果(!url.match(/^https:\/\/){return false;}
。把它放在t.execCmd('insertImage',v.url)的正上方代码>工作完美…谢谢!用户有没有办法绕过它,因为它只是一个前端功能?还是安全?任何客户端都是不安全的!这就是为什么我们应该总是在服务器端验证用户提供的数据。不过正则表达式是独立于语言的。所以只需检查regex在服务器端使用的任何语言上的工作方式,并使用相同的模式/^https:\/\/
。