Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于检测不带http或www的URL的正则表达式_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 用于检测不带http或www的URL的正则表达式

Javascript 用于检测不带http或www的URL的正则表达式,javascript,jquery,regex,Javascript,Jquery,Regex,当用户在文本区域中键入内容时,我试图检测URL并将其替换为超链接。我正在尝试使用正则表达式测试URL的字符串: var text='gggg.com/gd/'; var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; var text1=text.replace(exp, "<a href='$1'>$1</a>"); var exp2

当用户在文本区域中键入内容时,我试图检测URL并将其替换为超链接。我正在尝试使用正则表达式测试URL的字符串:

var text='gggg.com/gd/';
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
var text1=text.replace(exp, "<a href='$1'>$1</a>");
var exp2 =/(^|[^\/])(www\.[\S]+(\b|$))/gim;
var finalText=text1.replace(exp2, '$1<a target="_blank" href="http://$2">$2</a>');
alert(finalText);
var text='gggg.com/gd/';
var exp=/(\b(https?| ftp |文件):\/\/[-A-Z0-9+&@#\/%?=~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig;
var text1=text.replace(exp,“”);
var exp2=/(^.[^\/])(www\.[\S]+(\b\$)/gim;
var finalText=text1.replace(exp2,$1');
警报(finalText);
它适用于带有参数且不带http的ot的URL,但无法识别不带http和www的URL,例如abc.com或anc.com/fgdg/dgd或abc.com?lklkj=kjhkjh

更新

根据以下人员的评论和回答:

var text='gggg.com?klk=efhjsk';
变量表达式2='^([a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+*)$;
变量模式1=/^([a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+*)$/;
if(pattern1.test(text)和&text.substr(0,3)!='www'){
var finalText=“”;
}否则{
var exp=/(\b(https?| ftp |文件):\/\/[-A-Z0-9+&@#\/%?=~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig;
var text1=text.replace(exp,“”);
var exp2=/(^.[^\/])(www\.[\S]+(\b\$)/gim;
var finalText=text1.replace(exp2,$1');
}
警报(finalText);
试试这个

^([a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+.*)$
试试这个

^([a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+.*)$

因为正则表达式要求它在那里,所以需要将该部分设置为有条件的。因此,我应该首先检查模式abc.xyz,如果没有,则检查其余模式?因为正则表达式要求它在那里,所以需要将该部分设置为有条件的。因此,我应该首先检查模式abc.xyz,如果没有,那么剩下的模式?以下正则表达式将使http://,https://,ftp://和www.optional@^((http://;https://;ftp://)和www.optional@^((www.a-zA-Z0-9)+(\.[a-zA-Z]+)。”以下正则表达式将使http://,https://,ftp://和www.optional@^((http://;https://;ftp://)和www.optional@((www