答案 0 :(得分:1)
修改:请使用以下代码(包含单个网址的字符串)。
$(function(){
var urlmatch = /(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?/gm, protomatch = /\((https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?\)/gm;
$("#txtarea").keyup(function(){
if( this.value.match(protomatch) && this.value.charAt(0) == '(' && this.value.charAt(this.value.length-1) == ')' ){
this.value = this.value;
}
else if(this.value.match(urlmatch) && !this.value.match(protomatch) && this.value.charAt(0) != '(' && this.value.charAt(this.value.length-1) != ')'){
this.value = this.value.replace(urlmatch, '');
}
})
});
修改:它会检查并删除整个字符串中的所有下一个网址(多个网址)。
$(function(){
$("#txtarea").keyup(function(){
var urlmatch = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/, newA = [], a = this.value.split(' ');
$.each(a, function (i, j) {//j = $.trim(j);
if((j.match(urlmatch) && j.charAt(0) == '(' && j.charAt(j.length-1) == ')') != false) {
newA.push(j)
}
console.log(j, '->', j.match(urlmatch) && j.charAt(0) == '(' && j.charAt(j.length-1) == ')' ) })
var o = newA.join(" ")
this.value = o;
})
});
为此找到更新的fiddle。干杯!