比如我们在微信中发一段文字 然后发个网址 微信是能识别到我们的 网址,当我们点击消息的时候就会跳转到我们发送的网址。

这个东西就是通过我们正则匹配找到的

首先我们要匹配到网址。网址的正则表达式。 仅供参考哈

var urlReg = /(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*/ig

然后就是。匹配到网址之后我们需要过滤掉匹配到的中文文字和 标点符号
比如。我爱你中国。www.cadn.net

他就会匹配到 这段话中含有网址。我爱你中国。www.cadn.net
然后吧 中文去掉就好了

var str = "我爱你中国。www.cadn.net"
str.macth(urlReg)
str.replace(/([\u4e00-\u9fa5]|,|。)/ig, '')

可以做参考。
有必要说下 像。aaaaa.woqu.com 这种也是会识别成网址 所以我们过滤掉中文。字符。 这点微信做的也不好,不过也确实过滤不了 字母的那种形式 因为你 这个你是做不到,不知道那个是不是网址

-----分割线---------

我在网上找了很多版本 最后都满足不了我的需求 后来就自己写了一个正则

var str1 = "这个不是www.baidu.com吧我去"
const reg = /((?:http(s):\/\/)?([^(\u4e00-\u9fa5|,|。|\s)]*)?(w{3}|m)[^(\u4e00-\u9fa5|,|。|\s)]*)/g; let url = str1.match(reg)
str1 = str1.replace(url, 'url-split')
var urlArr = str1.split('url-split')
console.log(url)

是不是实现了呢

关注我 持续更新前端知识

js中匹配字符,中文文字之间的网址,并进行url跳转相关推荐

  1. 解决Word中公式与中文文字横向间距的问题

    使用Word自带的公式编辑器输入公式会遇到一种尴尬的情况:在行内公式与中文文字之间不加空格会显得二者间距过小,但加入空格又会显得二者间距过大.在不停地摸索后,我发现在行内公式中公式两侧加入空格会显得间 ...

  2. JS正则匹配所有中文字符

    const test = /[\u4e00-\u9fa5a-zA-Z`~!@#%&()_.=+*$|\[\]{},<>/\\\s-]/g// 匹配所有中文符号const test1 ...

  3. js中的字符长度问题

    今天遇到一个小问题,使用UTF-8这种Unicode编码存储格式时,用js中的字符串的length属性获取输入框中输入的字符长度时,输入中文也是按一个字符算,刚才查了下资料,原来在JS中字符串的长度不 ...

  4. js正则表达式匹配纯中文或纯英文

    (项目用到,记录一下) 匹配纯中文 ---------------------------------------------------------------------------------- ...

  5. html 转义 中文,HTML基础之JS中的字符转义--转义中文或特殊字符

    sql 关于查询时 出现的 从数据类型 varchar 转换为 numeric 时出错 的解决方法. 出现这种问题 一般是查询时出现了 varchar 转 numeric 时出了错  或varchar ...

  6. js中split,splice,slice方法之间的差异。

    首先我们先来林格斯双击翻译一下: split  劈开, 使分裂: splice   接合; 使结合: slice  切成薄片, 切: 我先是这么区分的:这三个方法最后一个字母是t的是字符串方法,是e的 ...

  7. js中html标签变文字颜色,javascript – 更改contenteditable div中文本的颜色

    您可以使用HTML编辑API来处理此类用例.参考这里: https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html 简而言之,使用execComm ...

  8. JS中等于与严格等于之间的区别

    浅谈JS的( == )与( === )的区别 [ == ] 为等于运算符 ,[=== ] 为严格等于运算符.两个都是用来比较两边的值是否相等.相等则返回ture,不相等则返回false. [==]运算 ...

  9. js中时间戳与日期时间之间的相互转换

    1.时间戳转换为标准日期时间格式: function timeFormat(dateStr) {var date = new Date(dateStr);Y = date.getFullYear() ...

  10. js中如何求平面两点之间的距离

    首先附上代码: // 数据可以以数组方式存储,也可以是对象方式 let a = {x:'6', y:10}, b = {x: 8, y: 20}; function distant(a,b){ let ...

最新文章

  1. java生成缩略图类源码
  2. spring rmi_Spring集成–使用RMI通道适配器
  3. Basic INFO: InstallShield中如何获取所调用Exe的返回值
  4. 提高代码的运行效率(2)
  5. [buaa-SE-2017]个人作业-Week1
  6. new与malloc的不同
  7. iOS原生APP和H5交互-delegate和第三方
  8. 利用RazorSQL如何创建SSH密钥
  9. 干货:资深架构师教你一篇文看懂Hadoop
  10. Noise,Error,wighted pocket Algorithm
  11. npm,yarn对比
  12. 接口测试-jmeter
  13. P3161 [CQOI2012]模拟工厂
  14. Atitit 互联网2018风口与趋势大盘点 目录 1.1. 短视频 1 1.2. 互联网金融 1 1.3. 区块链 1 1.4. 新零售 1 2. 2018热度榜丨你能抓住的风口有几个?.html
  15. 【目标跟踪】基于matlab光流法运动视频跟踪【含Matlab源码 1357期】
  16. C++拷贝构造函数专题
  17. 软考倒计时19天:招投标法、合同法、采购法
  18. 浏览器打开服务器图片不显示图片,网页图片不显示的原因 世界之窗浏览器网页显示不正常...
  19. 计算机中汉字的顺序用什么牌,中国汉字的写做顺序,你知道吗?
  20. 做淘宝页面前的基础准备

热门文章

  1. java程序设计有理数_Java程序设计作业01 - 有理数类的设计
  2. txt大文件转excel文件,行列转换
  3. win10系统需要经常更新吗?
  4. java/php/node.js/python基于Android的自助游线路规划系统【2024年毕设】
  5. Web网页实现多路播放RTSP视频流(使用WebRTC)
  6. 张一鸣退隐江湖!互联网人“退休”都干嘛去了?
  7. 实验室装修工程设计内容有哪些
  8. 系列九、MongoDB聚合查询
  9. 2018腾讯Web前端实习生招聘面经(2018.04.15)
  10. django中数据库操作有关部分