本文目录一览:
- 1、js和php中的 16进制转字符串问题,高手进,在线等!!!
- 2、js和php在同一个文件中相互获取值的问题
- 3、php生成8位唯一字符串
- 4、php:如何生成随机的唯一字母数字字符串
- 5、Javascript如何生成唯一的符合不影响url的字符串?
- 6、php js 把数组 转化 成 字符串 传参
js和php中的 16进制转字符串问题,高手进,在线等!!!
function hex2bin(data){
var data = (data || '') + '';
var tmpStr = '';
if(data.length % 2){
console console.warning('hex2bin(): Hexadecimal input string must have an even length');
return false;
}
if(/[^\da-z]/ig.test(data)){
console console.warning('hex2bin(): Input string must be hexadecimal string');
return false;
}
for(var i = 0, j = data.length; i j; i += 2){
tmpStr += '%' + data[i] + data[i + 1];
}
return decodeURIComponent(tmpStr);
}
js和php在同一个文件中相互获取值的问题
你好php是服务端脚本语言,js是浏览器端脚本语言,除非使用ajax进行数据提交否则,一但服务端生成好页面传到浏览器端后就不再参与浏览器端的“运算”,所以你想在同一个页面中不重新进行请求就js和php相互获取值是不现实的。
另:
你的代码分析如下:
script
var linka;
linka=window.location.href;
/script
?php
$ch[0]="scriptdocument.write(linka);/script";
echo $ch[0]."br /";
script
到这步为止,php获得js的变量非常顺利
下面接着
script
var k;
k="?php echo $ch[0];?";
alert(k);
/script
其实你的整个页面都是php的,执行
$ch[0]="scriptdocument.write(linka);/script";
这一句的时候,php的$ch[0]仅仅只是被赋予了"scriptdocument.write(linka);/script"这个字符串,js代码并没有运行.php也并没有获得js的变量!获得的只是字符串而已.
php生成8位唯一字符串
function get62($src, $length = 8){
$md5 = md5($src, true);
$pos = 0;
$res = "";
while(strlen($res) $length ($bin = substr($md5, $pos, 4)) != ""){
$uint = sprintf("%u" , unpack("Nint", $bin)['int']);
$res .= decto62($uint);
$pos += 4;
}
return substr($res, 0, $length);
}
function decto62($src){
static $table = [];
$table = array_merge(range(0, 9), range('A', "Z"), range('a', "z"));
$arr62 = [];
$div = $src;
do{
$mod = $div % 62;
array_unshift($arr62, $table[$mod]);
$div = intval($div / 62);
}while($div != 0);
return implode("", $arr62);
}
var_dump(get62("abc"));
php:如何生成随机的唯一字母数字字符串
1. 自己写代码产生随机的数字和字母组合,每产生1个去数据库查询该随机码是否已存在,如果已存在,则重新产生,直到不重复为止。
缺点:产生速度慢,还要查询数据库,当数据量大的时候,可能重复的机率会比较高,要查询多次数据库.
2. guid,该方法应该是用的比较多的。
优点:使用简单方便,不用自己编写额外的代码
缺点:占用数据库空间相对较大,特别是根据guid查询速度比较慢(毕竟是字符串)。
3. 主键+随机码的方式,我们产生的随机码保存到数据库肯定会有个主键,用该主键+随机字符来组合。产生步骤:
1) 先从id生成器中获取id,比如是155.
2)填充成固定位数(比如8位)的字符串(不够位数的左边填0,超过位数直接使用该数字),得到:00000155
3)在每个数字后面随机插入1个字母或其它非数字符号,得到:0A0F0R0Y0H1K5L5M
这样就可以得到1个随机的唯一的邀请码了。
优点:使用也比较简单,不用查询数据库。最大的优点是查询的时候,可以根据邀请码直接得到主键id,然后根据id去数据库查询(速度很快),再比较查询出来的邀请码和用户提交的邀请码是否一致。
缺点:需要使用id产生器,如果主键是数据库自增长的就不太好用(需要先插入数据库获取id,再更新邀请码)。
4. 有时候产品经理说,我要求邀请码都是数字的。把方法3变通下就可以实现唯一的纯数字随机码了。
1) 获取id: 155
2) 转换成8进制:233
3) 转为字符串,并在后面加'9'字符:2339
4)在后面随机产生若干个随机数字字符:2003967524987
转为8进制后就不会出现9这个字符,然后在后面加个'9',这样就能确定唯一性。最后在后面产生一些随机数字就可以。
Javascript如何生成唯一的符合不影响url的字符串?
Javascript生成唯一字符串就是 guid:
全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) 。
GUID是一种由算法生成的二进制长度为128位的数字标识符。GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中的 x 是 0-9 或 a-f 范围内的一个32位十六进制数。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。
GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。GUID一词有时也专指微软对UUID标准的实现。
算法实现:
function uuid() {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "-";
var uuid = s.join("");
return uuid;
}
php js 把数组 转化 成 字符串 传参
可以像楼下说的,你可以试试。
另外也可以直接这样:
data:{personprice:arrprice}
总之对象,数组也可以直接传。