逗号的正则表达式问题

时间:2014-10-27 11:08:59

标签: javascript regex

对于某个文本字段#city的模糊,我想删除显示的错误消息。

它适用于字母数字和点,但我无法用逗号来处理它。

代码:

$('input#city').blur(function() {
        var cityc = $(this).val();
        if ( /^[a-z 0-9 \.']{2,25}$/i.test(cityc) ) {
            $(this).removeClass('invalid');
            $('span.cityerror').removeClass('active');
        }
    });

因此,如果错误消息存在,并且文本的值包含字母数字或点,则在模糊时错误消息会消失,但如果有逗号则不会消失。

我试着像这样修改相关的行:

if ( /^[a-z 0-9 \. ,']{2,25}$/i.test(cityc) ) {

正如您所看到的,我在表达式中添加了一个逗号,但如果输入的值包含逗号,它仍然不会在模糊中消失。为什么呢?

更新:

因此,如果我在模糊处输入city,则消息会消失,但city,city ,则消失。

1 个答案:

答案 0 :(得分:0)

我不是正则表达式专家,但

你可以试试这个:

if(/^([a-z0-9]+[.', ]?[a-z0-9]*)+$/i.test(cityc)) {
    ...
}

<强> EDITED

what about this:
if(/^[A-Za-z0-9.', ]+$/.test(cityc)) { ... }