//写的url正则匹配
var reg = /((http|ftp|https):\/\/)?[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/g;
//获取需要处理的HTML
var str = $('.content').html();
//正则替换
str=str.replace(reg,function(a){
//如果包含http ,indexOf方法如果包含返回0,所以加上!
if(!a.indexOf('http')){
return '<a href="'+a+'" target=_blank>'+a+'</a>';
return '<a href="http://'+a+'" target=_blank>'+a+'</a>';
//从新填充给相应的html
$('.content').html(str);
functionpp(){
varre=/<a[^>]*href=['"]([^"]*)['"][^>]*>(.*?)<\/a>/g;
varstr=document.getElementById("txt").value;
vararr=[];
while(re.e...
同时不匹配:带有a
标签
的
url
、邮箱、123.23、haha.123、123.123.123等不是真正
url
的字符串,富文本消息中的
标签
正常返回,不影响换行等样式。这个只能完全匹配单个
url
的情况,多个
url
不匹配、邮箱、数字、ip等不匹配,本想着就这样限制死算了,结果最近又发现富文本消息默认有p
标签
等,我是将p
标签
替换掉之后使用
正则匹配
的,这样本来换行的消息就不换行了,于是又要改正则了。正常的逻辑是a
标签
的
url
不替换,其他正常的
url
替换,目前这方式还不知道有没有其他问题。
在
JavaScript
中,可以使用正则表达式来匹配字符串中的链接地址,然后使用 replace() 方法来替换成 a
标签
。
var str = "这是一个链接地址:https://www.example.com";
var pattern = /(https?:\/\/[^\s]+)/g;
var replacement = '<a href="$1">$1</a&...
/<a\b.*?</a>/ 表式以“<a ”(有空格) 开始 以“</a>”结尾的
标签
/^((https|http):\/\/)?[^\s]+[.]{1,1}[^\s]+/ 网址
/((\w+):\/\/)?([\w.]+[.]{1})[\w]+/ 匹配a
标签
中的href="XXXX"的网址
let str = '<a href456="http://www.coms.derdf.cds345345f" >
function check
Url
(
url
String){
if(
url
String!=""){
var reg=/(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/;
if(!reg.test(
url
String)){
public static ArrayList CutStr(string sStr, string Patrn)
ArrayList al = new ArrayList();
Regex tmpreg = new
var sHtml ="http://www.huhangfei.com/";
//替换http://开头链接
if (sHtml.toLowerCase().indexOf("http://")...
1.语法:var 变量=new RegExp(“正则表达式”,”匹配模式”)
Var reg=new RegExp(“a”,i);//i是不区分大小写
Var str=”abcd”;
正则表达式的方法test()
如果符合返回true,else返回false
Console.log(reg.test(str));//判断str中是否有a;且忽略大小写
Var reg=/a{3}/;--...