如何限制多个通配符搜索?

时间:2017-08-10 15:24:47

标签: javascript jquery angularjs user-interface frontend

我有一个名为“param”的对象,它将作为API调用中的参数传递

param = { "prodNbr":["ABC1%", "DEF1%], "skuNbr":["MNO1%","KLM2%"], "prodCd":[]}  

我需要验证某些条件

  1. 如何在此对象中限制多个%(通配符搜索)(用户只能搜索一个%。如果使用多个%,则应该抛出错误)

  2. 如果使用%(通配符搜索)进行搜索,则最少需要三个字符,%应该在3个或更多字符之后(例如:ABC%ABC1%)请帮助

1 个答案:

答案 0 :(得分:0)

1)一种简单的方法是检查第一个幻影的索引是否与上一个不同:str.indexOf("%") != str.lastIndexOf("%");

2)只需检查第一个幻影是在索引3还是gretear

所以:

if (str.includes("%")) {
    if (str.indexOf("%") != str.lastIndexOf("%") || str.indexOf("%") < 3) {
        alert("error");
    } else {}
}