获取本地外网ip
<!-- 获取本地外网ip -->
<script type="application/javascript">
function getIP(json) {
window.NATIVE_IP = json.ip
}
</script>
<!-- 获取本地外网ip -->
<script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP"></script>
计算指定年份一共有多少个周
// 计算指定年份一共有多少个周
function getWeeksOfYear(year) {
const firstDayOfYear = new Date(year, 0, 1);
const lastDayOfYear = new Date(year, 11, 31);
const firstWeekNumber = getWeekNumber(firstDayOfYear);
const lastWeekNumber = getWeekNumber(lastDayOfYear);
return lastWeekNumber - firstWeekNumber + 1;
}
// 获取指定日期在当年的第多少个周(每年的第一周从第一个周一算起)
function getWeekNumber(date) {
const yuandan = new Date(date.getFullYear(), 0, 1);
const weekNumber = Math.ceil(((date - yuandan) / 86400000 + yuandan.getDay() + 1) / 7);
return weekNumber;
}
// 示例用法
const year = new Date().getFullYear(); // 获取当前年份
const weeksOfYear = getWeeksOfYear(year);
console.log(`今年一共有 ${weeksOfYear} 个周`);
字符串按指定长度换行
/**
* 中文或允许截断单词的英文字符串按指定长度换行
* str:String,原中文或允许截断单词的英文字符串
* interval:Number,每行字符串的最大长度
* lineBreak:String,换行符
* @return {String} 换行后的字符串
*/
const insertZhLineBreaks = (str, interval, lineBreak = '\n') => {
let result = ''
for (let i = 0; i < str.length; i += interval) {
result += str.substring(i, i + interval) + lineBreak
result.trim()
}
return result
}
/**
* 英文或中英文混合字符串按指定长度换行且不截断单词
* str:String,原英文或中英文混合字符串
* interval:Number,每行字符串的最大长度
* lineBreak:String,换行符
* @return {String} 换行后的字符串
*/
const insertEnLineBreaks = (str, interval, lineBreak = '\n') => {
let result = ''
const words = str.split(' ')
let currentLine = ''
for (let i = 0; i < words.length; i++) {
if (currentLine.length + words[i].length <= interval) {
currentLine += words[i] + ' '
} else {
result += currentLine.trim() + lineBreak
currentLine = words[i] + ' '
}
}
return result + currentLine.trim()
}