javascript正则表达式总是返回false?

时间:2016-03-14 13:12:32

标签: javascript regex

我知道这是新手问题,但我不知道如何克服它 使用正则表达式的Match()字符串总是返回false。值来自autcomplete。

    var str = '1 - Hello';
    var pattern = /^[\d]\s-\s[a-z]/;
    if(str.match(pattern))
    {
        alert('Hell Yeah');
    }
    else
        alert('noooooooo');

我不知道我在这里缺少什么。但在regex tester它正在发挥作用。

我的回答 /\d+ - \w+/i

感谢您的回复。投票给关闭。

2 个答案:

答案 0 :(得分:1)

您只允许使用小写字母,请尝试:

var pattern = /^[\d]\s-\s[a-zA-Z]/;

这仍然只匹配' Hello'的第一个字母,如果你想匹配整个单词,那就是:

var pattern = /^[\d]\s-\s[a-zA-Z]+/;

答案 1 :(得分:1)

请注意我根据您进行的正则表达式测试所做的以下更改。

var str = '1 - Hello'; 
var pattern = /^\d\s-\s[a-z]/i;
 //change made above
if(str.match(pattern)) 
{ 
alert('Hell Yeah'); 
} 
else 
alert('noooooooo');