【问题标题】: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);
}
当然,您可以根据自己的要求添加删除检查。