js获取1-2-3-4或者1-9-6最后一个数字
时间: 2024-01-18 14:03:08 浏览: 28
请问您是要求获取以“-”分隔的数字串中的最后一个数字吗?如果是,请使用以下代码:
```javascript
var str = "1-2-3-4";
var lastNum = str.substring(str.lastIndexOf("-")+1);
console.log(lastNum); // 输出“4”
var str2 = "1-9-6";
var lastNum2 = str2.substring(str2.lastIndexOf("-")+1);
console.log(lastNum2); // 输出“6”
```
相关问题
显示数字1-100 ,在页面1点击任意一个数字,跳转到页面2
好的,这个问题很简单,可以通过 JavaScript 实现。下面是实现的思路:
1. 在页面1中创建一个包含数字 1-100 的列表。
2. 为每个数字添加一个点击事件监听器,当用户点击数字时,跳转到页面2。
3. 在页面2中显示用户点击的数字。
下面是实现代码的示例:
页面1:
```html
<!DOCTYPE html>
<html>
<head>
<title>数字列表</title>
<script>
// 添加点击事件监听器
function handleClick(num) {
window.location.href = "page2.html?num=" + num;
}
</script>
</head>
<body>
<h1>数字列表</h1>
<ul>
<!-- 创建数字列表 -->
<?php
for ($i = 1; $i <= 100; $i++) {
echo "<li><a href='javascript:void(0)' onclick='handleClick($i)'>$i</a></li>";
}
?>
</ul>
</body>
</html>
```
页面2:
```html
<!DOCTYPE html>
<html>
<head>
<title>数字详情</title>
</head>
<body>
<h1>数字详情</h1>
<?php
$num = $_GET["num"];
echo "<p>您点击的数字是:$num</p>";
?>
</body>
</html>
```
这样,用户在页面1中点击任意一个数字,就会跳转到页面2,并显示用户点击的数字。注意,这里使用了 PHP 获取页面2中的数字参数,需要在服务器环境中运行才能正常工作。
用js判断ipv6在同一网段,子网掩码为1-64的数字
IPv6的地址格式比较复杂,但是可以通过一些工具函数进行解析。下面是一个示例代码,可以判断两个IPv6地址是否在同一网段中,且子网掩码为1-64位:
```javascript
function ipv6InSubnet(ipv6Addr1, ipv6Addr2, prefixLength) {
// 将IPv6地址转换为二进制格式
const ipv6Binary1 = ipv6ToBinary(ipv6Addr1);
const ipv6Binary2 = ipv6ToBinary(ipv6Addr2);
// 获取前缀长度(即子网掩码位数)
const prefixLen = parseInt(prefixLength);
// 判断是否在同一网段中
for (let i = 0; i < prefixLen; i++) {
if (ipv6Binary1[i] !== ipv6Binary2[i]) {
return false;
}
}
return true;
}
function ipv6ToBinary(ipv6Addr) {
// 将IPv6地址转换为16进制数组
const hexArray = ipv6Addr.split(':');
// 将每个16进制数字转换为二进制字符串,并拼接起来
let binaryStr = '';
for (let i = 0; i < hexArray.length; i++) {
const hexStr = hexArray[i];
const binStr = parseInt(hexStr, 16).toString(2).padStart(16, '0');
binaryStr += binStr;
}
// 返回二进制字符串的数组
return binaryStr.split('');
}
```
使用示例:
```javascript
const ipv6Addr1 = '2001:db8:1234:5678::1';
const ipv6Addr2 = '2001:db8:1234:5678::2';
const prefixLength = '64';
const inSubnet = ipv6InSubnet(ipv6Addr1, ipv6Addr2, prefixLength);
console.log(inSubnet);
```
输出:
```
true
```
上述代码中,`ipv6ToBinary`函数将IPv6地址转换为二进制格式,`ipv6InSubnet`函数判断两个IPv6地址是否在同一网段中,且子网掩码位数为`prefixLength`。在这个示例中,我们将子网掩码长度设置为64位,即前64位相同的IPv6地址属于同一网段。