验证javascript正则表达式

时间:2014-12-05 09:21:44

标签: javascript regex

我有以下javascript字符串:

#d1{width:100px;}它看起来像css代码

现在我写了一个正则表达式,在字符串中找到以#.开头的元素。

正则表达式是这样的:

/(?:(#|\.)([A-Za-z0-1\-]+))/g

和上面的正则表达式成功匹配上述字符串。

但是现在当我在Google控制台中对上面的字符串测试这个正则表达式时,它返回false

我写的是:

var str = "#d1{width:100px} " // returns undefined
var regex = / (?:(#|\.)([A-Za-z0-1\-]+)) /g //undefrined
regex.test(str) // returns false

为什么它不起作用?

2 个答案:

答案 0 :(得分:4)

你的正则表达式中有空格,你可能不想要那里:

var str = "#d1{width:100px} " // returns undefined
var regex = /(?:(#|\.)([A-Za-z0-1\-]+))/g //undefrined
//           ^-------------------------^----- see, no spaces here
regex.test(str) // returns true

答案 1 :(得分:1)

试试这个。 /和parantheses之间的这些空间是混蛋。



function regtest()
{
var str = "#d1{width:100px}" // returns undefined
var regex = /(?:(#|\.)([A-Za-z0-1\-]+))/g //undefrined
alert(regex.test(str));
}

<button onclick="regtest()">Test</button>
&#13;
&#13;
&#13;