Регулярное выражение
Здравствуйте!
Нужно разбить запрос вида (календарь.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, время: 06:59. |