我有一个正则表达式来匹配 URL。它与使用 www.
编写或以 http://
开头的任何内容都非常匹配,但是它会在任何匹配的网址中添加一个逗号。例如,当我从文本区域获取值并将其匹配,然后用匹配的值替换文本区域值时,它会在网址末尾放置一个逗号:
var urlexp = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
$('button').click(function(){
var text = $('.textarea').val();
if((text.match(urlexp))) {
var urlMatch = urlexp.exec(text);
$('.textarea').val(urlMatch);
}
});
当我输入 http://www.google.com 并点击按钮 http://www.google.com 时em> 被替换为 http://www.google.com,,这导致了问题,有办法解决这个问题吗?
最佳答案
问题不在于正则表达式,而在于您设置的值。
尝试:
$('.textarea').val(urlMatch[0]);
关于Javascript url 正则表达式在 url 末尾返回一个逗号,有什么方法可以解决这个问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5918723/