Φ20-70mm
Φ16-59
有这么两串字符串,我想这样提取。
Φ20-70mm取arr[0]="Φ",arr[1]="20-70",arr[2]="mm"
Φ16-59取arr[0]="Φ",arr[1]="16-59",也就是说如果没有,数组arr的长度只为2请问如何提取,或者用其它办法,谢谢!!
Φ16-59
有这么两串字符串,我想这样提取。
Φ20-70mm取arr[0]="Φ",arr[1]="20-70",arr[2]="mm"
Φ16-59取arr[0]="Φ",arr[1]="16-59",也就是说如果没有,数组arr的长度只为2请问如何提取,或者用其它办法,谢谢!!
s = "Φ20-70mm";
alert(doit(s));
s = "Φ16-59";
alert(doit(s));function doit(s){
var re = /(Φ)(\d+\-\d+)([a-z]*)/i
var m = re.exec(s);
if(m) {
m.shift();
if(m[2]=="") m.pop();
}
return m;
}
s = "Φ20-70mm";
alert(doit(s));
s = "Φ16-59";
alert(doit(s));function doit(s){
var re = /(Φ)(\d+\-?\d+)([a-z]*)/i
var m = re.exec(s);
if(m) {
m.shift();
if(m[2]=="") m.pop();
}
return m;
}
好像也行。