gpt4 book ai didi

javascript - 如果有人在框中输入网址,则会弹出警告

转载 作者:行者123 更新时间:2023-12-01 01:39:38 25 4
gpt4 key购买 nike

如果有人输入网址或开始输入“http”,我如何返回警告弹出窗口?

下面的代码仅在有人开始在框中输入 http 时弹出警告,但如果有人在框中粘贴整个 url,则不会弹出警告。

<p>Enter http on the keyboard in the input field, to alert some text.</p>

<input type="text" size="50" onkeydown="keyCode(event)">

<script>
function keyCode(event) {
var x = event.keyCode;
if (x == 80) {
alert ("Pleas do not enter a url!");
}
}
</script>

最佳答案

您的代码检查是否有人按 p就是全部。

要正确执行此操作,您需要使用 oninput=yourfunction() 检查输入内容相反。

如果你给它一个id会更容易<input ... id="this_input"> ,然后您可以使用 var v = document.getElementById("this_input").value; 访问它,但您可以通过标记访问它 document.getElementsByTagName("input")[0].value;其中 [0] 是您在页面上输入的索引。

然后您使用 v.search("[some_regexp]"); 在该字符串中搜索 URL ,如果没有找到 URL,则返回 -1。所以它是if(v.search("...") >= 0) alert("There is a URL in the input somewhere.");

最后,根据您认为的 URL,正则表达式会有所不同,最偏执的人会检查是否有 2 个由点分隔的单词。

这是:((http|ftp|https):\/\/)?([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?

它不必要地长,但您可以根据您的具体目的在谷歌上搜索较短的内容。例如,要查找字符串中是否有 http,您只需执行 (http) 即可。 ,这不会阻止人们发布链接,例如 www.google.com。

完整的例子是:

<p>Enter http on the keyboard in the input field, to alert some text.</p>

<input type="text" size="50" oninput=check()>

<script>
function check() {
var v = document.getElementsByTagName("input")[0].value;
if(v.search("(http)") >= 0)
alert("woot");
}
</script>

关于javascript - 如果有人在框中输入网址,则会弹出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52534607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com