javascript-де қалай субструкциялау керек

Менің JavaScript коды,

var docPath = document.location.pathname.toString()

қайтарады

/myFolder/UserControls/myUserControl.ascx

SubString ұнатқым келеді

/myFolder/UserControls/

Мұны қалай жасауға болады?

2

6 жауаптар

Mhh ..

var n=str.lastIndexOf("/");//get the last "/"
var result = str.substring(0, n);//only keep everything before the last "/" (excluded)

Қажетті нәрсе ме?

3
қосылды
substring (0, n + 1), сонымен қатар соңғы «/»
қосылды автор Ricola3D, көзі
Ricola3D, жылдам және дұрыс және пайдалы жауап үшін рахмет :)
қосылды автор zey, көзі

Сіздің сұрағыңыз өте анық емес. Сіз көріңіз

var docPath = document.location.pathname.toString()
.substring(0,document.location.pathname.toString().lastIndexOf("/")+1);
2
қосылды
Екі тым көп «;» соңында (1 парентетек кейін, 1 алдында) ;-)
қосылды автор Ricola3D, көзі
рахмет ..... Мен оны редакцияладым
қосылды автор Atish Dipongkor, көзі

Бұл әрекетті ...

<!DOCTYPE HTML>
<html>
<body>

<script>

var str=document.location.pathname.toString();
document.write(str.substring(0,str.lastIndexOf("/")));;

</script>

</body>
</html>
2
қосылды

match жолының әдісін қолдануға болады:

var fullPath = '/myFolder/UserControls/myUserControl.ascx';
var path = fullPath.match(/(.+\/)/);
alert(path[1]);//This will output "/myFolder/UserControls/"

You can verify the working at the following JSFiddle: http://jsfiddle.net/H5PGb/

2
қосылды
Регекс - ең қуатты/жалпы шешім, бірақ олар қымбат (қойылымдар үшін). Сондықтан егер сіз оларды болдырмасаңыз, оларды болдырмаңыз.
қосылды автор Ricola3D, көзі
var x = docPath.lastIndexOf("/");
var substr = docPath.substr(0, (x+1));

Бұл сіздің жолыңыздағы соңғы «/» таңбаны іздейді және оның орнын қайтарады. Содан кейін ол сіздің жолыңызды алып, 0-ден соңғы кейіпкерлерге «/» таңбаға салып, оны substr var.

2
қосылды
var docPath = document.location.pathname.toString();
var sub = docPath.substring(0,docPath.lastIndexOf('/')+1);

Бұл жұмыс істеуі керек

1
қосылды