【问题标题】:How can i know if an input value is a text? [duplicate]我怎么知道输入值是否是文本? [复制]
【发布时间】:2025-12-11 01:05:01
【问题描述】:

我不知道以前是否有人在这里问过这个问题,但我只是找不到我要找的确切内容。我有一个聊天应用程序原型,我正在研究如何使用 React 制作聊天应用程序,我希望该应用程序知道“某些发送的消息”是否是某个网站的 Url,如果是,请制作它显示为 Url 而不是简单的字符串。

【问题讨论】:

标签: javascript reactjs input chat


【解决方案1】:

您可以尝试创建一个函数来验证输入并检查它是否为 URL。我相信使用正则表达式是你最好的选择。

function validURL(str) {
   var pattern = new RegExp('^(https?:\\/\\/)?'+ // protocol
   '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+ // domain name
   '((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address
   '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // port and path
   '(\\?[;&a-z\\d%_.~+=-]*)?'+ // query string
   '(\\#[-a-z\\d_]*)?$','i'); // fragment locator

   return !!pattern.test(str);
}

当然,您可以根据自己的要求添加删除检查。

【讨论】: