正则表达式输入验证限制为最大值。逗号

时间:2014-03-13 04:36:28

标签: regex

我正在使用Laravel表单字段运行jQuery Autocomplete。

它从我的数据库中获取数据

Specialty Area Examples: Real Estate, Mortgage Lenders, Renovation, Buyer's Agent, Listing Agent, Relocation, Short-Sale, Consulting, Local Experts, Refinancing, Architecture, Home Building, Carpentry, Electrical, Engineering, Interior Design, Landscaping, Painting, Plumbing, Appraisal, Commercial Property, Insurance, Legal, Conveyancing, 

用户可以输入其中一个示例,自动完成功能将在字段中完成其余部分。

我想限制用户允许在表单字段中输入最多4个特殊区域示例。因此用户可以输入例如:

房地产,卖空,咨询,本地专家

之后,不应允许用户输入更多数据。因此,我需要在表单字段中设置的最大逗号数为3。

2 个答案:

答案 0 :(得分:1)

试试这个:

$("#txtBox").keypress(function (e) {
    var input = $(this).val() + String.fromCharCode(e.which);
    if (input.split(',').length > 4) {
        e.preventDefault();
    }
});

演示: http://jsfiddle.net/y6eQF/

答案 1 :(得分:0)

此RegEx应该按您的要求执行:([a-zA-Z0-9\-\_\ \'\"]+\,){3}[a-zA-Z0-9\-\_\ \'\"]+

你也可以像Vinod提到的split()那样做。在PHP中,您也有split()/explode()