表单检验类
邮箱校验
const strRegex = / ^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$ / ;
if ( ! strRegex. test ( this . form. email) ) {
console. log ( 'Email format error' ) ;
return
}
关于时间处理
1) 如果格式是: yyyy/mm/dd hh:mm:ss 可以直接转换。
var oldTime = ( new Date ( "2018/07/09 14:13:11" ) ) . getTime ( ) ;
console. log ( "yyyy/mm/dd hh:mm:ss格式:" + oldTime ) ;
2) 如果日期格式是: yyyy-mm-dd hh:mm:ss 需要转化格式
var startDate = '2018-07-09 14:13:11' ;
startDate= startDate. replace ( new RegExp ( "-" , "gm" ) , "/" ) ;
var startDateM = ( new Date ( startDate) ) . getTime ( ) ;
console. log ( "yyyy-mm-dd hh:mm:ss格式转化而得:" + startDateM ) ;
3) 日期转化为毫秒的第二种方法:
var str = '2018-07-09 14:13:11' ;
var arr = str. split ( / [- : \/] / ) ;
var startDate = Date. parse ( new Date ( arr[ 0 ] , arr[ 1 ] - 1 , arr[ 2 ] , arr[ 3 ] , arr[ 4 ] , arr[ 5 ] ) ) ;
console. log ( "第二种方法yyyy-mm-dd hh:mm:ss格式转化而得:" + startDate ) ;
4)毫秒数转化为浏览器时间格式(没啥用)
var endDate = ( new Date ( "2018/02/09 14:13:11" ) ) . getTime ( ) ;
var newDate = new Date ( endDate ) ;
console. log ( "毫秒数转化为时间格式:" + newDate ) ;
5) 应用: 判断是否在规定的范围内
const date = Date. now ( ) ;
const start_time = ( new Date ( res. data. is_extension. start_time) ) . getTime ( ) ;
const end_time = ( new Date ( res. data. is_extension. end_time) ) . getTime ( ) ;
if ( start_time <= date <= end_time) {
console. log ( "在时间范围内" ) ;
} else {
console. log ( "不在时间范围内" ) ;
}
6) 时间戳转为 yyyy-mm-dd hh:mm:ss 日期格式
function formatDate ( now ) {
var year= now. getFullYear ( ) ;
var month= now. getMonth ( ) + 1 ;
var date= now. getDate ( ) ;
var hour= now. getHours ( ) ;
var minute= now. getMinutes ( ) ;
var second= now. getSeconds ( ) ;
return year+ "-" + month+ "-" + date+ " " + hour+ ":" + minute+ ":" + second;
}
var d= new Date ( 1230999938 ) ;
console. log ( formatDate ( d) ) ;
7) 时间戳转 日期格式
function getLocalTime ( nS ) {
return new Date ( parseInt ( nS) * 1000 ) . toLocaleString ( ) . replace ( / 上午|下午 / g , '' ) ) ;
}
alert ( getLocalTime ( 1177824835 ) ) ;
8) 时间戳转 日期格式 2007/4/29 下午1:33
function getLocalTime ( nS ) {
return new Date ( parseInt ( nS) * 1000 ) . toLocaleString ( ) . replace ( / :\d{1,2}$ / , ' ' ) ;
}
alert ( getLocalTime ( 11778248350000 ) ) ;
9) date转为时间戳
const timeSSS = new Date ( ) . getTime ( ) ;
10) date转为’秒级’时间戳 ,并向上取整
const time_S = Math. ceil ( new Date ( ) . getTime ( ) / 1000 ) ;
console. log ( time_S) ;
11) 获取当月的最后一天 || 获取一个月当中的开始日期与结束日期
function getFirstAndLastMonthDay ( year, month ) {
var firstdate = year + '-' + month + '-01' ;
var day = new Date ( year, month, 0 ) ;
var lastdate = year + '-' + month + '-' + day. getDate ( ) ;
return lastdate;
} ;
关于字符串操作
隐藏部分字符的操作
replaceStr ( target, start, end, length ) {
let str = '' ;
if ( start) {
str = target. substr ( start, length) + '***' ;
} else if ( end) {
str = '***' + target. substr ( end, length) ;
} else {
str = target. substr ( 0 , 1 ) + '***' + target. substr ( target. length - 1 , 1 ) ;
}
return str
}
关于数组的处理
获取数组最大值
function arrayMax ( arr ) {
arr. reduce ( function ( prev, cur ) {
return Math. max ( prev, cur) ;
} )
}
数组去重
function arrayScreen ( arr ) {
arr. reduce ( function ( prev, cur, index, curarr ) {
prev. indexOf ( cur) === - 1 && prev. push ( cur) ;
return prev;
} , [ ] ) ;
}
随笔
锚点定位 scrollIntoView
const toElement = document. querySelector ( ".list-4" ) ;
toElement. scrollIntoView ( { block: "center" , behavior: "smooth" } ) ;
富文本编译
contentHtml ( res ) {
const content = res;
const html = content. replace ( / < / g , "<" ) . replace ( / > / g , ">" ) . replace ( / & / g , "&" ) . replace ( / " / g , '"' ) . replace ( / ' / g , "'" ) ;
content[ 'html' ] = html;
return content;
}
清空url中的参数
onLoad ( ) {
let url = window. location. href;
let valiable = url. split ( '?' ) [ 0 ] ;
window. history. pushState ( { } , 0 , valiabl) ;
}
获取URL中的参数名及参数值的集合
let url = GetRequest ( ) ;
const uid = url. userid;
console. log ( uid)
function GetRequest ( urlStr ) {
if ( typeof urlStr == "undefined" ) {
var url = decodeURI ( location. search) ;
} else {
var url = "?" + urlStr. split ( "?" ) [ 1 ] ;
}
var theRequest = new Object ( ) ;
if ( url. indexOf ( "?" ) != - 1 ) {
let strs = url. substr ( 1 ) ;
strs = strs. split ( "&" ) ;
for ( var i = 0 ; i < strs. length; i++ ) {
theRequest[ strs[ i] . split ( "=" ) [ 0 ] ] = decodeURI ( strs[ i] . split ( "=" ) [ 1 ] ) ;
}
}
return theRequest;
}
格式化价格(保留n位小数)
formatPrice ( price, n ) {
return parseFloat ( price) . toFixed ( n)
} ,
获取随机数
function randomString ( length, chars ) {
let result = '' ;
for ( var i = length; i > 0 ; -- i) result += chars[ Math. floor ( Math. random ( ) * chars. length) ] ;
return result
}
var rString = randomString ( 32 , '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' ) ;
function randomString ( length ) {
let result = '' ;
const chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' ;
for ( var i = length; i > 0 ; -- i) result += chars[ Math. floor ( Math. random ( ) * chars. length) ] ;
return result
}
console. log ( randomString ( 5 ) ) ;
原生js简单实现 无缝轮播动画(性能差,易卡顿)
swiper ( ) {
let swiperUl = document. getElementById ( 'ul__swipe' ) ;
this . time = window. setInterval ( function ( ) {
if ( swiperUl. offsetLeft < - swiperUl. offsetWidth / 2 ) {
swiperUl. style. left = 0 ;
} else {
swiperUl. style. left = swiperUl. offsetLeft - 1 + 'px' ;
}
} , 20 ) ;
} ,