首页 > 编程知识 正文

php和js生成唯一字符串(php中只有一个字符串运算符)

时间:2023-12-09 23:12:00 阅读:313966 作者:CUYP

本文目录一览:

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}

总之对象,数组也可以直接传。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。