2013-07-28 92 views
1

我有这样强烈:匹配都punkts正则表达式

Nowowiejska 37, Tomaszów Mazowiecki, Polska 

我想所有的字符串匹配JS与

any word, any word, Polska 

怎么办呢?如何使用和正则表达式?

/.,/.,/Polska 

+0

你能举出具体的例子吗?这是不清楚究竟应该匹配什么。另外,你的意思是“串”而不是“强”? – likeitlikeit

+0

我想的是2个逗号应在表达和对和字波兰FESłoneczna6,05-090 Raszyn,波兰 但以及这样的字符串 Witolda Pileckiego 6,02-723华沙,波兰 –

回答

0

尝试这样的:

function validate(string) { 
    var splitstringarray = string.split(','); 

    // check if the string contains 2 commas 
    if (splitstringarray.length !== 3) { 
     return false; 
    } 

    // check if the string ends in 'Polska' 
    var suffix = 'Polska'; 
    if (splitstringarray[2].indexOf(suffix, splitstringarray[2].length - suffix.length) < 0) { 
     return false; 
    } 

    return true; 
} 

var valid = 'Nowowiejska 37, Tomaszów Mazowiecki, Polska'; 
var invalid1 = 'Nowowiejska 37 Tomaszów Mazowiecki, Polska'; 
var invalid2 = 'Nowowiejska 37, Tomaszów Mazowiecki, Polski'; 

alert(validate(valid)); // returns true 
alert(validate(invalid1)); // returns false 
alert(validate(invalid2)); // returns false 

更优雅的方式很可能会匹配一个正则表达式。

+0

不,我需要它应该是'串,字符串,Polska'字符串=任何字符串我试过,但它不起作用/[^,]*,[^,].Polska$/ –

+0

对不起,我混淆了评论。它实际上与您给出的字符串匹配,并且与其他两个字符不匹配。类似的正则表达式可能看起来像'/,[^,] *,\ s * Polska $ /'。如果我没有明白你的意思,请澄清。 – likeitlikeit

+0

基本上,'javascript'上面和'regex'都会接受任何包含两个逗号并以'Polska'结尾的字符串。你有没有尝试过这些代码? – likeitlikeit