#989
展开↯#990
作者:广西南宁市
javascript 进制转换(2进制、8进制、10进制、16进制之间的转换)
//十进制转其他
var x=110;
alert(x);
alert(x.toString(8));
alert(x.toString(32));
alert(x.toString(16));
//其他转十进制
var x='110';
alert(parseInt(x,2));
alert(parseInt(x,8));
alert(parseInt(x,16));
//其他转其他
//先用parseInt转成十进制再用toString转到目标进制
alert(String.fromCharCode(parseInt(141,8)))
alert(parseInt('ff',16).toString(2));
Run code
Cut to clipboard
文章:JavaScript base64随机字符混淆加密、解密 发表时间:2017-09-09, 12:14:37
#991
作者:广西南宁市
js字符串倒序
var reverse = function( str ){
var stack = [];//生成一个栈
for(var len = str.length,i=len;i>=0;i-- ){
stack.push(str[i]);
}
return stack.join('');
};Run code
Cut to clipboard
var reverse = function( str ){
var newStr = '', i = str.length;
for(; i >= 0; i--) {
newStr += str.charAt(i);
}
return newStr;
};
reverse('abcde')Run code
Cut to clipboard
文章:JavaScript base64随机字符混淆加密、解密 发表时间:2017-09-09, 12:12:31
#992
作者:广西南宁市
兼容中文的方法
decodeURIComponent(escape(window.atob(d)));//解密
window.btoa(unescape(encodeURIComponent(str)));//加密Run code
Cut to clipboard
文章:JavaScript base64随机字符混淆加密、解密 发表时间:2017-09-09, 12:11:47
#993
作者:广西南宁市
加密的原理:
1、先用base64对字符串进行加密。
2、在字符串前面加上一个4位字符串,字符串要满足以下条件:
①必须是四位16进制的字符串。
②字符串的10进制必须也是一个四位整数。(这个四位整数很重要,用来确定随机字符串的插入位置和个数的)
③插入加密地址前的是四位16进制的字符串的倒序。
3、通过开头加上的4位字符串确定随机字符串以及插入的位置。(前后相应位置都加上一段随机字符串)
解析:
base64混淆加密后的地址:14c1YmxvZy54ppc3d0Zi5jb20g5LyK5oCd572R5X2qouT
①首先前面4位16进制的字符串为14c1,因为是倒序添加的,所以实际上为1c41。
②1c41对应的10进制为7233。
③通过7233推算,前面添加的随机字符串位置为第7个字符开始,添加2个随机字符串;后台添加的随机字符串位置为倒数第3个添加3个随机字符串。
1、先用base64对字符串进行加密。
2、在字符串前面加上一个4位字符串,字符串要满足以下条件:
①必须是四位16进制的字符串。
②字符串的10进制必须也是一个四位整数。(这个四位整数很重要,用来确定随机字符串的插入位置和个数的)
③插入加密地址前的是四位16进制的字符串的倒序。
3、通过开头加上的4位字符串确定随机字符串以及插入的位置。(前后相应位置都加上一段随机字符串)
解析:
base64混淆加密后的地址:14c1YmxvZy54ppc3d0Zi5jb20g5LyK5oCd572R5X2qouT
①首先前面4位16进制的字符串为14c1,因为是倒序添加的,所以实际上为1c41。
②1c41对应的10进制为7233。
③通过7233推算,前面添加的随机字符串位置为第7个字符开始,添加2个随机字符串;后台添加的随机字符串位置为倒数第3个添加3个随机字符串。
文章:JavaScript base64随机字符混淆加密、解密 发表时间:2017-09-09, 12:08:16
#994
作者:广西南宁市
//随机4位10进制整数
function getfo(){
var randnum;
randnum=Math.random();
while(randnum<0.1){
randnum=Math.random();
}
return randnum=Math.floor(Math.random()*10000);
}
//十进制转十六进制
function toHex(num){
var rs = "";
var temp;
while(num/16 > 0){
temp = num%16;
rs = (temp+"").replace("10","a").replace("11","b").replace("12","c").replace("13","d").replace("14","e").replace("15","f") + rs;
num = parseInt(num/16);
}
//console.warn(rs); //打印
return rs;
}
//16进制补位
function str_pad(hex){
var zero = '0000';
var tmp = 4-hex.length;
return zero.substr(0,tmp) + hex;
}
//倒叙字符串
function reverse(str){
return str.split('').reverse().join('');
};
//混淆加密的随机字符
function getrr(){
var hex=toHex(getfo());
if(hex.length<4) hex=str_pad(hex)
return reverse(hex);
}Run code
Cut to clipboard
文章:JavaScript base64随机字符混淆加密、解密 发表时间:2017-09-09, 11:58:26
#995
作者:广西南宁市
网页黑客帝国代码雨滚动下落乱码代码文字背景特效动画
<style>*{padding:0px;margin:0;x}
body{background: url(https://out.img.pan.lizhenqiu.com/FhevmCp39BWLo9mBfo5MnPE6yuM0);}#matrixBG {
position: fixed;
top: 0;
left: 0;
z-index: -1;
opacity: 0.8;width:100%;height:100%;
}</style>
<canvas id="matrixBG"></canvas>
<script src="https://lizhenqiu.com/templates/default/jquery.min.js"></script>
<script>// JavaScript Document
$(document).ready(function(){
//var s=window.screen;
var width = matrixBG.width = window.screen.width;
var height = matrixBG.height = window.screen.height;
var yPositions = Array(300).join(0).split('');
var ctx=matrixBG.getContext('2d');
var draw = function () {
ctx.fillStyle='rgba(0,0,0,.05)';
ctx.fillRect(0,0,width,height);
ctx.fillStyle='#0F0';
ctx.font = '10pt Georgia';
yPositions.map(function(y, index){
text = String.fromCharCode(30+Math.floor( Math.random()*95 ));
x = (index * 10)+10;
matrixBG.getContext('2d').fillText(text, x, y);
if(y > 100 + Math.random()*1e4)
{
yPositions[index]=0;
}
else
{
yPositions[index] = y + 10;
}
});
};
RunMatrix();
function RunMatrix()
{
if(typeof Game_Interval != "undefined") clearInterval(Game_Interval);
Game_Interval = setInterval(draw, 33);
}
function StopMatrix()
{
clearInterval(Game_Interval);
}
/**
//setInterval(draw, 33);
$("button#pause").click(function(){
StopMatrix();});
$("button#play").click(function(){RunMatrix();});
*/
});</script>Run code
Cut to clipboard
文章:网页标签页头部标题前面加入有新消息提醒闪烁动画效果 发表时间:2017-09-09, 10:37:13
#997
作者:广西南宁市
文章:@意见反馈/技术支持/伊网/安企网 发表时间:2017-09-09, 09:56:44
#998
作者:广西南宁市
If not now,when?
If not me,who?

#,广西南宁市,2017-09-09,09:53:50,
If not me,who?
文章:@意见反馈/技术支持/伊网/安企网 发表时间:2017-09-09, 09:47:08
#999
作者:广西南宁市
js取float型小数点后两位数的方法
四舍五入
以下处理结果会四舍五入:
不四舍五入
以下处理结果不会四舍五入:
第一种,先把小数边整数:
第二种,当作字符串,使用正则匹配:
注意:如果是负数,请先转换为正数再计算,最后转回负数 #,广西南宁市,2017-09-08,17:06:54,
1.丢弃小数部分,保留整数部分
2.向上取整,有小数就整数部分加1
3,四舍五入.
4,向下取整
#,广西南宁市,2017-09-08,17:08:20, #,广西南宁市,2017-09-08,17:10:04,
功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,
这个函数返回的是字符串的格式用法:changeTwoDecimal(3.1415926)返回3.14 changeTwoDecimal(3.1)返回3.10
四舍五入
以下处理结果会四舍五入:
var num =2.446242342;
num = num.toFixed(2); // 输出结果为 2.45Run code
Cut to clipboard
不四舍五入
以下处理结果不会四舍五入:
第一种,先把小数边整数:
Math.floor(15.7784514000 * 100) / 100
// 输出结果为 15.77Run code
Cut to clipboard
第二种,当作字符串,使用正则匹配:
Number(15.7784514000.toString().match(/^\d+(?:\.\d{0,2})?/))
// 输出结果为 15.77,不能用于整数如 10 必须写为10.0000Run code
Cut to clipboard
注意:如果是负数,请先转换为正数再计算,最后转回负数
1.丢弃小数部分,保留整数部分
parseInt(5/2)Run code
Cut to clipboard
2.向上取整,有小数就整数部分加1
Math.ceil(5/2)Run code
Cut to clipboard
3,四舍五入.
Math.round(5/2)Run code
Cut to clipboard
4,向下取整
Math.floor(5/2)Run code
Cut to clipboard
<script>
var num=22.127456;
alert( Math.round(num*100)/100);
</script>Run code
Cut to clipboard
功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,
这个函数返回的是字符串的格式用法:changeTwoDecimal(3.1415926)返回3.14 changeTwoDecimal(3.1)返回3.10
function changeTwoDecimal(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal->parameter error');
return false;
}
var f_x = Math.round(x*100)/100;
return f_x;
}
功能:将浮点数四舍五入,取小数点后2位
用法:changeTwoDecimal(3.1415926) 返回 3.14
changeTwoDecimal(3.1475926) 返回 3.15
js保留2位小数(强制)
对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:
changeTwoDecimal(3.1),将返回 3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:
function changeTwoDecimal_f(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal->parameter error');
return false;
}
var f_x = Math.round(x*100)/100;
var s_x = f_x.toString();
var pos_decimal = s_x.indexOf('.');
if (pos_decimal < 0)
{
pos_decimal = s_x.length;
s_x += '.';
}
while (s_x.length <= pos_decimal + 2)
{
s_x += '0';
}
return s_x;
} Run code
Cut to clipboard
文章:JS浮点数运算多出很多位小数点Bug的解决办法 发表时间:2017-09-08, 17:05:01
#1000
作者:广西南宁市
PHP保留两位小数的几种方法
$num = 10.4567;
//第一种:利用round()对浮点数进行四舍五入
echo round($num,2); //10.46
//第二种:利用sprintf格式化字符串
$format_num = sprintf("%.2f",$num);
echo $format_num; //10.46
//第三种:利用千位分组来格式化数字的函数number_format()
echo number_format($num, 2); //10.46
//或者如下
echo number_format($num, 2, '.', ''); //10/46Run code
Cut to clipboard
文章:JS浮点数运算多出很多位小数点Bug的解决办法 发表时间:2017-09-08, 17:02:27
#1001
作者:广西南宁市
PHP学习之Mysql 和Mysqli区别
(1)Mysql和Mysqli的区别是:
mysqli连接是永久连接,而mysql是非永久连接。
mysql连接:每当第二次使用的时候,都会重新打开一个新的进程。
mysqli连接:一直都只使用同一个进程。
好处:这样就可以很大程度的减轻服务器压力。
(2)mysql_connect与mysql_pconnect与mysqli_connect:
mysql_pconnect打开的连接不会关闭(即使调用mysql_close也不会关闭,因为对其无效),
类似于连接缓冲池,如果下次有来自于同一个机器的同一个用户名
对同一个数据库的连接,php会自动使用上次已经建立的连接,而不需要再重新建立一个。?
好处:是省去了每次与建立连接的开销,
坏处:是需要浪费一些,占用一些连接,
所以如果用户访问量大的时候会出现错误,要把的max_connections参数改大一点,?或者使用mysql_connect()就解决问题。
connect与pconnect不会带来功能的差异,?只有性能上的差别.
一般php有俩种运行模式,?一是作为cgi运行,?二是作为apache的模块运行.?
作为cgi的时候connect跟pconnect没什么不同,?因为每次cgi进行运行结束后都会被销毁清理掉资源.
(1)Mysql和Mysqli的区别是:
mysqli连接是永久连接,而mysql是非永久连接。
mysql连接:每当第二次使用的时候,都会重新打开一个新的进程。
mysqli连接:一直都只使用同一个进程。
好处:这样就可以很大程度的减轻服务器压力。
(2)mysql_connect与mysql_pconnect与mysqli_connect:
mysql_pconnect打开的连接不会关闭(即使调用mysql_close也不会关闭,因为对其无效),
类似于连接缓冲池,如果下次有来自于同一个机器的同一个用户名
对同一个数据库的连接,php会自动使用上次已经建立的连接,而不需要再重新建立一个。?
好处:是省去了每次与建立连接的开销,
坏处:是需要浪费一些,占用一些连接,
所以如果用户访问量大的时候会出现错误,要把的max_connections参数改大一点,?或者使用mysql_connect()就解决问题。
connect与pconnect不会带来功能的差异,?只有性能上的差别.
一般php有俩种运行模式,?一是作为cgi运行,?二是作为apache的模块运行.?
作为cgi的时候connect跟pconnect没什么不同,?因为每次cgi进行运行结束后都会被销毁清理掉资源.
文章:mysql 远程连接速度慢的解决方案 发表时间:2017-09-08, 09:42:40
#1002
作者:广西南宁市
微信公众号自定义菜单最多能创建多少个栏目菜单
1、 最多创建3个一级菜单,一级菜单名称名字不多于4个汉字或8个字母。
2、 每个一级菜单下的子菜单最多可创建5个,子菜单名称名字不多于8个汉字或16个字母。
温馨提示:编辑中的菜单不会马上被用户看到,发布成功后,会在24小时后在手机端同步显示,粉丝不会收到更新提示,若多次编辑,以最后一次保存为准。
1、 最多创建3个一级菜单,一级菜单名称名字不多于4个汉字或8个字母。
2、 每个一级菜单下的子菜单最多可创建5个,子菜单名称名字不多于8个汉字或16个字母。
温馨提示:编辑中的菜单不会马上被用户看到,发布成功后,会在24小时后在手机端同步显示,粉丝不会收到更新提示,若多次编辑,以最后一次保存为准。
文章:Weiphp微信公众平台自定义菜单等开发 发表时间:2017-09-07, 18:45:24
#1004
作者:广西南宁市
需要先开通qq在线客服状态,否则跳转链接会错误或者空白没有反应
QQ在线客服 qq推广 QQ通讯组件

该段代码,即能嵌入到你的页面,实现在线交流的功能。
QQ在线客服 qq推广 QQ通讯组件
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=2500152288&site=qq&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2:515807823:53" alt="点击这里给我发消息" title="点击这里给我发消息"/></a>Run code
Cut to clipboard
该段代码,即能嵌入到你的页面,实现在线交流的功能。
文章:安卓苹果手机不同qq客服在线代码 发表时间:2017-09-05, 17:47:33
#1005
作者:广西南宁市
1. 获取选中项:
获取选中项的Value值:
$('select#sel option:selected').val();
或者
$('select#sel').find('option:selected').val();
获取选中项的Text值:
$('select#seloption:selected').text();
或者
$('select#sel').find('option:selected').text();
2. 获取当前选中项的索引值:
$('select#sel').get(0).selectedIndex;
3. 获取当前option的最大索引值:
$('select#sel option:last').attr("index")
4. 获取DropdownList的长度:
$('select#sel')[0].options.length;
或者
$('select#sel').get(0).options.length;
5. 设置第一个option为选中值:
$('select#sel option:first').attr('selected','true')
或者
$('select#sel')[0].selectedIndex = 0;
6. 设置最后一个option为选中值:Run code
Cut to clipboard
文章:js获取select标签选中的值 发表时间:2017-09-05, 14:59:55
#1006
作者:广西南宁市
1.获取选中值,三种方法都可以:
$('input:radio:checked').val();
$("input[type='radio']:checked").val();
$("input[name='rd']:checked").val();
2.设置第一个Radio为选中值:
$('input:radio:first').attr('checked', 'checked');
或者
$('input:radio:first').attr('checked', 'true');
注:attr("checked",'checked')= attr("checked", 'true')= attr("checked", true)
3.设置最后一个Radio为选中值:
$('input:radio:last').attr('checked', 'checked');
或者
$('input:radio:last').attr('checked', 'true');
4.根据索引值设置任意一个radio为选中值:
$('input:radio').eq(索引值).attr('checked', 'true');索引值=0,1,2....
或者
$('input:radio').slice(1,2).attr('checked', 'true');
5.根据Value值设置Radio为选中值
$("input:radio[value=http://www.2cto.com/kf/201110/'rd2']").attr('checked','true');
或者
$("input[value=http://www.2cto.com/kf/201110/'rd2']").attr('checked','true');
6.删除Value值为rd2的Radio
$("input:radio[value=http://www.2cto.com/kf/201110/'rd2']").remove();
7.删除第几个Radio
$("input:radio").eq(索引值).remove();索引值=0,1,2....
如删除第3个Radio:$("input:radio").eq(2).remove();
8.遍历Radio
$('input:radio').each(function(index,domEle){
//写入代码
});Run code
Cut to clipboard
文章:js获取select标签选中的值 发表时间:2017-09-05, 14:59:40
正则规则中有“|”时,会引起解析错误:
'regex:\d{3,4}[\s,-]?\d{7,8}|1[3,4,5,8]\d[\s,-]?\d{4}[\s,-]?\d{4}'使用数组语法可以解决:
['regex' => '\d{3,4}[\s,-]?\d{7,8}|1[3,4,5,8]\d[\s,-]?\d{4}[\s,-]?\d{4}']