我以前没有使用regex的经验,所以我需要你的帮助。
我有3种不同的web服务,我使用这些服务通过实时搜索来获取数据。这是我的陈述的逻辑,我正在努力实现它。
if(carName is entered) {
getCarName.php?text=blablabla
} elseif (carModel is entered) {
getCarModel.php?text=blablabla
} elseif (carNumer is entered) {
getCarNumber.php?text=1337
}这个想法是,如果输入carName,它可能是一个简单的字符串,比如Pontiac Firebird 2002,那么carModel可以是OHC inline-6 and a single-barrel carburetor。carName和carModel可能包含字符和数字。carNumber可以只有数字值,如194378。
我已经开始评估regexr.com网站,但仍然没有想出解决我的问题的可能方法。
我想有一个输入字段(搜索字段)。我有不同的三个网络服务。我有一个工作现场搜索一个web服务(carName)。它运行得很好,但我想做一个regex语句,以确定在输入搜索字段中何时输入carName或carModel,甚至是carNumber。我怎么能做到呢?
举个例子,下面是我对carName web服务的实时搜索的代码片段:
$('#search').keyup(function() {
var searchField = $('#search').val();
var $update = $('#update');
$.get("getCarName.php?text=" + searchField, function(data) {
$update.empty();
var vals = jQuery.parseJSON(data);
if($.isArray(vals['Car'])) {
$.each(vals['car'], function(k,v){
$update.append("<li value='"+v['id']+"'><a href='#'>" + v['car_name'] + "</a></li>");
});
} else {
$update.append("<li value='"+vals['car']['id']+"'><a href='#'>" + vals['car']['car_name'] + "</a></li>");
}
});
}); 基于上面的代码,我想创建一个if/ web语句,根据输入字符串确定它应该使用什么web服务。
根据regexr.com,carName和carModel可以从以下几个方面实现:
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789和carNumber来自:
0123456789购买我如何能够创建一个If/Else条件根据这一点?
有人能帮我吗?
发布于 2014-11-25 11:32:44
可能的建议:
1)仅通过这个正则表达式‘carNumber’可以跟踪输入字符串是否只包含数字(表示输入了[\d]+)。
2)如果输入不仅包含数字,还可以创建一个数组或smth,其中包含所有可能的汽车制造商名称,并查看输入字符串中的某个单词是否与其匹配。如果匹配,则由CarName搜索
3)如果没有输入上述任何应用- CarModel被输入
这就是某种意义上的例子。
var string = 'your input 2014';
var regex = /[\D]+/;
var carsArray = ["Nissan", "Pontiac", "Other one"];
function findInArray(a, s)
{
for( var i = 0; i < a.length; ++i )
if( a[i].indexOf( s ) >= 0 )
return i;
return -1;
}
if (regex.exec(string)) {
//there are NOT only numbers
if (findInArray(carsArray, string) == '-1') {
//carModel entered!
}else{
//carName entered!
}
} else {
//carNumber entered!
}https://stackoverflow.com/questions/27125080
复制相似问题