javascript - 如何判断输入框中的文本是否为超链接?
高洛峰
高洛峰 2017-04-11 12:44:32
[JavaScript讨论组]

如题,



这是u3u提供的答案
用正则:^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?$

var regex = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?$/;
regex.test('http://www.baidu.com/'); // true
regex.test('https://www.baidu.com/'); // true
regex.test('https://github.io/'); // true
regex.test('百度 https://baidu.com/'); // false

但是这里有一个问题,如果我输入的内容例如:

https://lalal.lalla

这样也能通过校验,请问有什么办法能够完善么?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(4)
巴扎黑

用正则:^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?$

var regex = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?$/;
regex.test('http://www.baidu.com/'); // true
regex.test('https://www.baidu.com/'); // true
regex.test('https://github.io/'); // true
regex.test('百度 https://baidu.com/'); // false
ringa_lee

你的意思应该是要判断input的文本是不是网址之类的吧。

正则判断他后缀为.com即可 然后可以自己添加

天蓬老师

只有用正则表达式,首先你要确定你需要判断链接的基本信息,然后提炼出通用的,写一个正则匹配

var urlReg = /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i;
urlReg.test('https://www.google.com');

像这样就可以了,如果不需要http协议的话,你改一下就可以了

黄舟

围观围观围观

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号