文本框不能以http://或者https://开头,怎么匹配

var httpsRule = (rule, value, callback) => {

        var reg = /http[s]{0,1}:\/\/([\w.]+\/?)\S*/;

        if (value !== '' && !reg.test(value)) {

          console.log(value,'value')

          callback(new Error('XXXXSADX'))

        } else if (value.length > 15) {

          callback(new Error('ASDASDASD'))

        } else {

          callback()

        }

      };

        var reg = /^https?:\/\/([\w.]+\/?)\S*/;
 

不能以http或https开头

/^(?!https?://)/gi

正则其实不难的,可以参考我的文章学习下

https://blog.csdn.net/superwfei/article/details/51753127?spm=1001.2014.3001.5502

这里主要是正则表达式问题,你试试这个: var reg = /(http|https):\/\/([\w.]+\/?)\S*/

var httpsRule = (rule, value, callback) => {
        var reg = /^https?:\/\/([\w.]+\/?)\S*/;

        if (value !== '' && reg.test(value)) {
          console.log(value,'value')

          callback(new Error('XXXXSADX'))

        } else if (value.length > 15) {
          callback(new Error('ASDASDASD'))

        } else {
          callback("ok")

        }

      };
function ff(e) {
	console.log(e);
}
httpsRule("","https://w.a.com",ff);
httpsRule("","http://w.a.com",ff);
httpsRule("","ahttps://w.com",ff);
httpsRule("","httpa://w.a.com",ff);


 代码写的没问题感觉,用我这个正则试下看看:

  var reg = /(http|https):\/\/([\w.]+\/?)\S*/ 

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632