使用javascript的正则表达式的问题

时间:2011-06-17 11:27:37

标签: javascript regex

我正在使用以下脚本,但它给出了语法错误,我无法弄清楚。请帮忙。

var str = "http://gaurav.com";

var patt1 = /^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$/;
console.log(str.match(patt1));

谢谢, 拉夫

5 个答案:

答案 0 :(得分:2)

需要进入/

var patt1 = /^http\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?$/;

编辑:也可以在模式中转义/

答案 1 :(得分:2)

你的模式在字符串中给出一个“,”可能是问题???

试试这个:

var str = "http://gaurav.com";
var patt1 = 'http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}';
console.log(str.match(patt1));

请参阅working example here

答案 2 :(得分:0)

引用regexp字符串,应该修复错误。没有检查过表达式,但这不是问题,对吧?

var patt1 = '^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$';

答案 3 :(得分:0)

这似乎工作得很好 - 看起来你只是错过了引号

var str = "http://gaurav.com";

var patt1 = "^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$";
document.write(str.match(patt1));

这是您可以使用http://jsfiddle.net/chuckplayer/fLrx8/

播放的代码的jsfiddle链接

答案 4 :(得分:0)

您必须同时转义所有/

var str = "http://gaurav.com";
var patt1 = /^http\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?$/;
//------------------^-^---------------------------------^
console.log(str.match(patt1));