Регулярное выражение
Здравствуйте!
Нужно разбить запрос вида (календарь.png,jpg,gif) на две части календарь и png,jpg,gif, я с регулярными выражениями не очень, вот мой вариант, подскажите может можно лучше ?
if ( /\.(.+)/.test(query) ){
found = query.match(/(.+)\.(.+)/i);
query = found[1];
ext = found[2];
}
|
var s = 'календарь.png,jpg,gif'.split(".");
alert( s[0] );
alert( s[1] );
|
Точек в запросе может быть несколько, и запрос может быть просто календарь
Тогда наверное так ?
if ( /\.(.+)/.test(query) ){
var query_part = query.split('.').reverse();
ext = query_part[0].replace(/\s+/g,'');
query_part.shift();
query = query_part.reverse().join('.');
}
Может лучше регулярка ? |
(/(.+)\.(jpg|gif|png|jpeg)$/i) В ситаксисе, простите пхп. Знак доллара - конец строки, так как может быть хорощий.календарь.jpg |
/(.+)\.(.+)$/i -мне наверное такое пойдет, там много расширений неохота все перебирать. Как указать во второй скобки что любые символы в количестве от 3 до 4 символов?
|
Цитата:
|
|
Всем спасибо, буду пробовать!
|
Подскажите, мне нужно сделать проверку на число. Число может быть целое, а может быть и нет. Мне нужно в строке сделать проверку чтобы точка была одна:
вот мой пример, что не так???:
var num1 = '123';
var num2 = '12.3';
reg=/^(\d+).?(\d+)$/;
res1 = reg.test(num1);
res2 = reg.test(num2);
if(res1==false || res2==false) { alert('ТРА-ТА-ТА'); }
|
var x = /^\d+$|^\d+\.\d+$/; // x или x.x
alert(x.test("125.1546")); // true
alert(x.test("125..1546")); //false
alert(x.test("125.")); // false
alert(x.test("125")); // true
|
| Часовой пояс GMT +3, время: 18:19. |