function ISmobile(str){ var p=/^1[3|4|5|6|7|8][0-9]\d{7,8}$/; if(str.match(p)!=null) { return true; } return false; } function IScard(str){ var p=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; if(str.match(p)!=null) { return true; } return false; }
<script type="text/javascript"> //给身份证文本框添加一个失去焦点事件: $("#idNumber").blur(function() { //获取身份证号码,例如:412702199301010000,这里不再判断身份证号是否合法 var idNumber = $("#idNumber").val(); //定义籍贯、出生日期、性别、年龄等变量 var provinces,province,birthday,currDate,month,date,age,sex; //一、获取籍贯,由于数据量比较大,所以这里只获取到省: //定义地区数组 provinces = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" }; province = provinces[parseInt(idNumber.substr(0, 2))]; //二、出生日期 birthday = idNumber.substring(6, 10) + "-" + idNumber.substring(10, 12) + "-" + idNumber.substring(12, 14); //三、计算年龄 currDate = new Date(); month = currDate.getMonth() + 1; date = currDate.getDate(); age = currDate.getFullYear() - idNumber.substring(6, 10) - 1; //判断年龄 if (idNumber.substring(10, 12) < month || (idNumber.substring(10, 12) == month && idNumber.substring(12, 14) <= date)) { age++; } //四、获取性别 if (parseInt(idNumber.substr(16, 1)) % 2 == 1) { //男 sex = "man"; } else { //女 sex = "woman"; } //赋值 $("#province").val(province); $("#birthday").val(birthday); $("#age").val(age); $("input[name='sex'][type=radio][value='" + sex + "']").attr("checked", true); }); </script>
Function GetEnDate(str) dim En_year,En_month,En_day,months En_year=year(str) En_month=month(str) En_day=day(str) select case En_month case "1" months="January" case "2" months="February" case "3" months="March" case "4" months="April" case "5" months="May" case "6" months="June" case "7" months="July" case "8" months="August" case "9" months="September" case "10" months="October" case "11" months="November" case else months="December" end select GetEnDate=""&months&" "&En_day&", "&En_year&"" End Function
网易云接口
http://ip.ws.126.net/ipquery?ip=[IP地址]
搜狐接口
http://pv.sohu.com/cityjson?ie=utf-8
爱奇艺接口
http://ip.geo.iqiyi.com/cityjson?format=json&ip=[IP地址]
ip-api
http://ip-api.com/json/[IP地址]?lang=zh-CN
太平洋电脑网接口
http://whois.pconline.com.cn/ipJson.jsp?ip=[IP地址]&json=true
腾讯接口
https://apis.map.qq.com/ws/location/v1/ip?output=jsonp&key=KUQBZ-FYDCU-YMVVN-2DDW5-7WDYE-5JBJR&ip=[IP地址]&callback=jQuery18301852690032249129_1600324416562&_=1600324417180
ip.cn
https://www.ip.cn/api/index?ip=&type=0
bilibili
https://api.bilibili.com/x/web-interface/zone
speedtest
https://forge.speedtest.cn/api/location/info
flex-direction
row:默认值,主轴为水平方向,起点在左端
row-reverse:主轴为水平方向,起点在有段
column:主轴为垂直方向,起点在上方
column-reverse:主轴为垂直方向,起点在下方
flex-wrap
wrap:换行,第一行在上方
wrap-reverse:换行,第一行在下方
justify-content
flex-start:默认值左对齐
flex-end:右对齐
center:居中
space-between:两端对齐,项目之间的间隔都相等
space-around:每个项目两侧的间隔相等。
align-items
flex-start:交叉轴的起点对齐
flex-end:价差周的终点对齐
center:交叉轴的中点对齐
baseline:项目的第一行文字的基线对齐
stretch:默认值,如果项目未设置豪赌或者auto,将占满整个容器的高度
align-content
flex-start:与交叉轴的起点对齐
flex-end:与交叉轴的终点对齐
center:与交叉轴的中点对齐
space-between:与检查周两端对齐,轴线之间的间隔平均分布
space-around:没跟轴线两侧的间隔都相等。
strech:默认值轴线占满整个交叉轴
网站发布后,请求*.woff,.woff2,.svg此类文件时得到的都是404,这种情况要怎么解决呢?
给服务器IIS添加SVG,WOFF,WOFF2这几个文件类型的扩展,即在IIS上添加MIME类型。
1.打开服务器IIS管理器–》选择该发布网站–》在功能视图中,选择MIME类型
2.选择MIME类型–》鼠标双击–》进入MIME类型管理列表–》点击右上角“添加…”
3.输入对应的文件扩展名和MIME类型,点击“确定”就行了
1).woff application/x-font-woff
2).woff2 application/x-font-woff
3).svg image/svg+xml
1:打开访问的资源iis,在HTTP 响应表头中添加代码名称:Access-Control-Allow-Origin值:*
2:重启IIS 正常。
注意添加后此目录可能绕过同源策略引发安全漏洞。
一、标准说法
标准是首字母大写的,X-Your-Custom-Header
不区分大小写
二、微信小程序中
如以下文件上传的请求,Header 中 定义了 accessKey 参数。
wx.uploadFile({
url: url,
filePath: path,
header: {
accessKey : "123456"
},
name: '',
success: function (resu) {
console.log(resu);
},
fail: function (err) {
console.log(err);
}
})
这个 Header 中的 accessKey 在开发环境是不会做改变的,服务器接收到的还是 accessKey,但是在真机环境下就不一样的,会变成 accesskey,全部小写了。当使用 actionContext.Request.Headers 的 Key = 来取时,问题就来了。
使用 HttpContext.Current.Request["accessKey"] 则没问题,应该是它大小写无关的原因。
Chr("0") 为0的字符
Chr("1")
Chr("2")
Chr("3")
Chr("4")
Chr("5")
Chr("6")
Chr("7") 响铃
Chr("8") 回格
Chr("9") tab(水平制表符)
Chr("10") 换行
Chr("11") tab(垂直制表符)
Chr("12") 换页
Chr("13") 回车 chr(13)&chr(10) 回车和换行的组合
Chr("14")
Chr("15")
Chr("16")
Chr("17")
Chr("18")
Chr("19")
Chr("20")
Chr("21")
Chr("22")
Chr("23")
Chr("24")
Chr("25")
Chr("26") 结束 End
Chr("27") 脱离 Pause break
Chr("28")
Chr("29")
Chr("30")
Chr("31")
Chr("32") 空格 SPACE
Chr("33") !
Chr("34") "
Chr("35") #
Chr("36") $
Chr("37") %
Chr("38") &
Chr("39") ’
Chr("40") (
Chr("41") )
Chr("42") *
Chr("43") +
Chr("44") ,
Chr("45") -
Chr("46") .
Chr("47") /
Chr("48") 0
Chr("49") 1
Chr("50") 2
Chr("51") 3
Chr("52") 4
Chr("53") 5
Chr("54") 6
Chr("55") 7
Chr("56") 8
Chr("57") 9
Chr("58") :
Chr("59") ;
Chr("60") <
Chr("61") =
Chr("62") >
Chr("63") ?
Chr("64") @
Chr("65") A
Chr("66") B
Chr("67") C
Chr("68") D
Chr("69") E
Chr("70") F
Chr("71") G
Chr("72") H
Chr("73") I
Chr("74") J
Chr("75") K
Chr("76") L
Chr("77") M
Chr("78") N
Chr("79") O
Chr("80") P
Chr("81") Q
Chr("82") R
Chr("83") S
Chr("84") T
Chr("85") U
Chr("86") V
Chr("87") W
Chr("88") X
Chr("89") Y
Chr("90") Z
Chr("91") [
Chr("92") \
Chr("92") \
Chr("93") ]
Chr("94") ^
Chr("95") _
Chr("96") `
Chr("97") a
Chr("98") b
Chr("99") c
Chr("100") d
Chr("101") e
Chr("102") f
Chr("103") g
Chr("104") h
Chr("105") i
Chr("106") j
Chr("107") k
Chr("108") l
Chr("109") m
Chr("110") n
Chr("111") o
Chr("112") p
Chr("113") q
Chr("114") r
Chr("115") s
Chr("116") t
Chr("117") u
Chr("118") v
Chr("119") w
Chr("120") x
Chr("121") y
Chr("122") z
Chr("123") {
Chr("124") |
Chr("125") }
Chr("126") ~
<!--test.wxml-->
<button style="margin-top:50px;" bindtap="getQRCode">扫一扫</button>
<view>{{ qRCodeMsg }}</view>
//test.js Page({ data:{ qRCodeMsg:'' }, getQRCode: function(){ var _this = this; wx.scanCode({ //扫描API success: function(res){ console.log(res); //输出回调信息 _this.setData({ qRCodeMsg: res.result }); wx.showToast({ title: '成功', duration: 2000 }) } }) } })