ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingget token จาก URL ได้ยังไงครับ (Javascript)
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: get token จาก URL ได้ยังไงครับ (Javascript)  (อ่าน 1019 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
affsom
สมุนแก๊งเสียว
*

พลังน้ำใจ: 24
ออฟไลน์ ออฟไลน์

กระทู้: 501



ดูรายละเอียด
« เมื่อ: 21 สิงหาคม 2017, 01:32:05 »

สมมุติรูปแบบ url เป็นได้หลายแบบ

แบบที่1 httป://gettoken/index.php?action=test&token=aaaaa
แบบที่2 httป://gettoken/index.php?action=test&token=aaaaa&login=admin
แบบที่3 httป://gettoken/index.php?action=test&login=admin&token=aaaaa&expires=3600
แบบที่4 httป://gettoken/index.php?action=test&login=admin&expires=3600&token=aaaaa

ในบาง url token มีการย้ายตำแหน่งอาจเป็นตำแหน่งแรก หรือกลาง หรือตำแหน่งสุดท้ายตามตัวอย่างครับ

ต้องการเก็บค่า token ซึ่งมี length คงที่คือ 5 ตัวอักษร

 wanwan011 wanwan011
« แก้ไขครั้งสุดท้าย: 21 สิงหาคม 2017, 01:42:08 โดย affsom » บันทึกการเข้า
chaynuwong
คนรักเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 149



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 21 สิงหาคม 2017, 04:02:04 »

โค๊ด:
<? 
$t[0]='//gettoken/index.php?action=test&token=aaaaa';
$t[1]='//gettoken/index.php?action=test&token=aaaaa&login=admin';
$t[2]='//gettoken/index.php?action=test&login=admin&token=aaaaa&expires=3600';
$t[3]='//gettoken/index.php?action=test&login=admin&expires=3600&token=aaaaa';

for($i=0;count($t)>=$i;$i++){
echo $t[$i].'<br>';
 preg_match('/token=(....)/',$t[$i],$mat);
echo $mat[0].'<br>';
echo $mat[1].'<br>';
}

?>
wanwan016 wanwan016
อ่านไม่จบ javascript  ผมทำมา php   wanwan023 wanwan023
« แก้ไขครั้งสุดท้าย: 21 สิงหาคม 2017, 04:03:27 โดย chaynuwong » บันทึกการเข้า

infamous
ก๊วนเสียว
*

พลังน้ำใจ: 14
ออฟไลน์ ออฟไลน์

กระทู้: 295



ดูรายละเอียด
« ตอบ #2 เมื่อ: 21 สิงหาคม 2017, 10:06:08 »

แบบ  JS ครับ
ถ้า token เป็นแค่ 0-9 A-Z a-z โค๊ดด้านล่างใช้ได้ครับ แต่ถ้ามีพวก special chars ต้องดักเพิ่มใน match() อีกทีครับ

โค๊ด:
var urls=[
'httป://gettoken/index.php?action=test&token=aaaaaxxx',
'httป://gettoken/index.php?action=test&token=aaaaayyy&login=admin',
'httป://gettoken/index.php?action=test&login=admin&token=aaaaazzzz&expires=3600',
'httป://gettoken/index.php?action=test&login=admin&expires=3600&token=aaaaannnn'];

for(var i=0;i<urls.length;i++){
console.log(urls[i].match(/token=([a-zA-Z0-9]+)/)[1]);
}
บันทึกการเข้า
tanutsun
ก๊วนเสียว
*

พลังน้ำใจ: 98
ออฟไลน์ ออฟไลน์

กระทู้: 485



ดูรายละเอียด
« ตอบ #3 เมื่อ: 21 สิงหาคม 2017, 10:07:02 »

function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}


var token = getParameterByName('token');

cr.
โค๊ด:
https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript
บันทึกการเข้า
kumabro
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 24



ดูรายละเอียด
« ตอบ #4 เมื่อ: 22 สิงหาคม 2017, 18:01:38 »

โค๊ด:
var url = new URL('http://gettoken/index.php?action=test&login=admin&token=aaaaa&expires=3600');
var token = url.searchParams.get('token');
console.log(token);

 wanwan007
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์