如题,
这是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
这样也能通过校验,请问有什么办法能够完善么?
围观围观围观
只有用正则表达式,首先你要确定你需要判断链接的基本信息,然后提炼出通用的,写一个正则匹配
var urlReg = /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i; urlReg.test('https://www.google.com');
像这样就可以了,如果不需要http协议的话,你改一下就可以了
你的意思应该是要判断input的文本是不是网址之类的吧。
正则判断他后缀为.com即可 然后可以自己添加
用正则:^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