Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   простенькая задача (https://javascript.ru/forum/misc/42513-prostenkaya-zadacha.html)

Vampir3 30.10.2013 00:46

простенькая задача
 
Привет.
Есть такая переменная:

var a = "123(456)";


Как её проще всего разбить на 2 переменных - то что в скобках, и то, что за скобками? (cur и max)

Есть такие варианты:

var a = "123(456)";
var cur = parseInt(a);
var max = Number(a.replace(cur,'').replace(/[^0-9]/g,''));
alert(cur);alert(max);


или

var a = "123(456)";
var cur = parseInt(a);
var max = Number(a.replace(cur,'').replace('(','').replace(')',''));
alert(cur);alert(max);


или

var a = "123(456)";
var cur = parseInt(a);
var max = Number(a.split('(')[1].replace(')',''))
alert(cur);alert(max);


Может есть варианты попроще?)

Vampir3 30.10.2013 00:51

var a = "123(456)";
var cur = Number(a.split(/[^0-9]/g)[0]);
var max = Number(a.split(/[^0-9]/g)[1]);
alert(cur);alert(max);


Вот, вроде как самый нормальный:)
или можно еще как-то?

рони 30.10.2013 01:04

Vampir3,
:-?
var a = "123(456)";
var cur = a.match(/\d+/g);
var max = cur[1];
cur = cur[0]
alert(cur);alert(max)

ruslan_mart 30.10.2013 05:16

рони, в число забыл преобразовать :)

var a = "123(456)",
	cur = a.match(/\d+/g),
	max = +cur[1];
cur = +cur[0];
alert([cur, max]);

Deff 30.10.2013 05:22

Вариант:
var a = "123(456)",
	cur = a.split(/[\(\)]/),
	max = +cur[1],
cur = +cur[0];
alert([cur, max]);

ksa 30.10.2013 09:25

И мои 5 копеек... :D

var a = "123(456)",
	cur = a.split(/\(|\)/),
	max = +cur[1],
cur = +cur[0];
alert([cur, max]);

Vampir3 30.10.2013 23:21

спасибо))


Часовой пояс GMT +3, время: 19:31.