我正在使用以下脚本,但它给出了语法错误,我无法弄清楚。请帮忙。
var str = "http://gaurav.com";
var patt1 = /^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$/;
console.log(str.match(patt1));
谢谢, 拉夫
答案 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));
答案 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));
播放的代码的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));