为什么我的Javascript test()函数在正则表达式中放置空格时失败?

为什么我的Javascript test()函数在正则表达式中放置空格时失败?,javascript,html,regex,Javascript,Html,Regex,我有这个: var regex=/[a-z\d,]+$/i; if (!/[a-z\d,]+$/i.test(user_input)){ alert('format is invalid'); } 这是可行的,但是当我想在正则表达式中包含字符空间时,函数会失败或者不会触发if语句中的块 var regex=/[a-z\d ,]+$/i; 我做错了什么? 提前感谢空格由\s表示: 空白由\s表示: 如上所述,空格由'\s'表示 var regex=/[a-z\d\s,]+$/i

我有这个:

var regex=/[a-z\d,]+$/i;

if (!/[a-z\d,]+$/i.test(user_input)){
      alert('format is invalid');
}
这是可行的,但是当我想在正则表达式中包含字符空间时,函数会失败或者不会触发if语句中的块

var regex=/[a-z\d ,]+$/i;
我做错了什么?
提前感谢

空格由\s表示:


空白由\s表示:


如上所述,空格由'\s'表示

 var regex=/[a-z\d\s,]+$/i;
有关更多说明,请访问以下url:

如上所述,空格由'\s'表示

 var regex=/[a-z\d\s,]+$/i;
有关更多说明,请访问以下url: 添加开始模式^

否则,只有在行尾匹配时才进行测试。 试试这里:

添加开始模式^

否则,只有在行尾匹配时才进行测试。
试试这里:

为什么要定义两次正则表达式?您好。不,我不,我只是用第二个替换第一个,当它失败时/[a-z\d,]+$/I。测试'a,b'对我来说很好。您好。通过在正则表达式中添加^解决了这个问题。你为什么要定义两次正则表达式?嗨。不,我不,我只是用第二个替换第一个,当它失败时/[a-z\d,]+$/I。测试'a,b'对我来说很好。您好。通过在正则表达式中添加^解决了这个问题。Regardsy您可以在正则表达式中使用文本空间\我认为s还包括制表符和换行符。Rocket是对的,\s包括\n、\r和\t字符以及空格。@Rocket,没错。我查看了规范,它包含了新行。您可以在正则表达式中使用文本空格\我认为s还包括制表符和换行符。Rocket是对的,\s包括\n、\r和\t字符以及空格。@Rocket,没错。我查看了规范,它包含了新行。您可以在正则表达式中使用文本空格\我认为s还包括制表符和换行符。可以在正则表达式中使用文本空格\我想s还包括标签和换行符。是的!这就是问题所在。非常感谢你的帮助。尊敬的!这就是问题所在。非常感谢你的帮助。当做
/^[a-z\d ,]+$/i.test(user_input)