Ⅰ javaScript 中 var s=“订单号:12345”如何取 到123456
方法很多种,如用split(":"),得到的就是一个以:分割的结果数组
Ⅱ 如何生成订单号比较好
由于我在工作中遇到这个问题,借此与大家分享一下各大电子商务网站订单号的生成方式。
它是您在购物网站购物后获得的订单号,记录的是购物订单信息。
在您需要与购物网站进行订单查询等操作时,需要给购物网站提供商家订单号。
如果采用单数据库来存储的话,随着订单量的增加,单库的写压力增大,造成数据库服务器性能下降。一般会采用分库来缓解数据库服务器的压力。
那么怎么来进行分库呢?
web来源订单,存入web订单库。
CallCenter来源订单,存入CallCenter订单库。
wap来源订单,存入wap订单库。
最终,将这三种类型的数据库同步到订单主库中。
问题来了,怎么把不同的订单同步到订单主库呢?
电商网站一般利用订单号来作为订单表的主键。因此,我们必须保证订单号不重复,才能将订单安全的同步到订单主库中。
这个大家都明白,主要保证订单号不重复。
订单编号不能透露你公司的真实运营信息,比如你的订单就是流水号的话,那么别人就可以从订单号推测出你公司的整体运营概括了。所以订单编码必须是除了你们公司少部分人外,其他人基本看不懂的。可以参考京东和淘宝的编码规则。
因为大规模的随机码随机生成,因为本身就没有意义所以无所谓泄密了。但是事实上这种编码规则在实现上会有很大问题的。随机码满足第二点安全性要求,为了满足唯一性,那就得在生成随机码的时候对比历史数据是否有重复,如果你的订单数量到达了十万次,你每次生成订单编码时就得对比十万条历史数据。
随机码就不能在编码中使用了吗?小规模的随机码是可以使用的,比如2~3位,这种随机码一般都是和流水号等结合使用,主要作用是为了隐藏流水号的真实数据而进行使用的。
主要针对编码中有时间的设定。
订单号的作用就是便于查询。一般正常使用场景应该是订单出异状或者退货的时候,用户将订单号报给客服,由客服进行查询。所以一般在10~15位为好。目前京东11位,淘宝16位。
比如“业务编码 + 时间戳 + 机器编号[前4位] + 随机4位数 + 毫秒数”。
说明:业务编码(OrderType: Web=1 CallCenter=2 Wap=3) 机器编号(用来表示由那台服务器生成的订单)
伪代码如下:
订单号的生成方案,需要根据目前的订单量而定;因为各种方案都有各自的使用场景。
Ⅲ 淘宝的订单号是怎么生成和设计的呢知道的来讨论下
淘宝的订单号是自然生成的。只要有客户下单后就会自动生成一个订单号。
查看订单号的方法:
1、首先先打开一个浏览器,然后在网络中输入“淘宝网”,然后点击“网络一下”按钮。
Ⅳ 生成订单号,要求是唯一的,如何实现
guid
Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier)
GUID/UUID是通过特定算法产生的一个二进制长度为128位的数字,
在空间上和时间上具有唯一性,保证同一时间不同地方产生的数字不同,
在公元3400年以前产生的UUID/GUID与任何其他产生过的UUIDs/GUIDs都不相同。
在需要GUID的时候,可以完全由算法自动生成,不需要一个权威机构来管理。
GUID的长度固定,并且相对而言较短小,非常适合于排序、标识和存储。
Ⅳ 用JSP如何产生连续的订单号,NO.00001 NO.00002
使用Java+数据库实现
由于确定NO.00001里面有不规则的字母+特殊字符+数字
所有查询出数据库中最后一行数据,并获取编号例如:NO.00099
已知有2个字符一个特殊字符,那么我们把字符串截取掉,把字符、特殊字符和数字分开
Stringstr="NO.00099";
StringtmpW=str.substring(0,2);//NO.
StringtmpN=str.substring(3,str.length());//00099
intnum=Integer.valueOf(tmpN)+1;
Stringtmp_num=num+"";
for(inti=5-tmp_num.length();i>0;i--){
tmp_num="0"+tmp_num;
}
//最终要的结果NO.00100
Stringresult=tmpW+tmp_num;
查询最后一个id的语句
selecttop1idfrom表orderbyiddesc
Ⅵ 如何生成一个这种形式的订单号
DateTime dttime=DateTime.Now;
string str=dttime.Year.ToString()+dttime.Month+dttime.Day;
string sql="select top 1 订单号 from 订单表 order by 订单号 desc";
执行该语句,返回现在数据库中最近一次生成的订单号.
然后对其进行操作:(比如最近一次生成订单号为 str2 )
int ii=Convert.ToInt32(str2.SubString(str2.Lenght-4))+1;
int len=ii.ToString().Length;
string str3="";
switch (len){
case 1:
str3="000"+ii.ToString();
break;
case 2:
str3="00"+ii.ToString();
break;
case 3:
str3="0"+ii.ToString();
break;
}
最后.你当前的订单号就是:
str+=str3;
---------------------
rebinglunlun - 高级魔法师 六级
愿听其详~~
Ⅶ 给个绝对不重复的生成订单号的思路或者逻辑!
多用户的话,简单一点的,可以由用户ID(数字)、时间、随机数组合生成,因为用户ID是唯一的,生成的订单号也就绝对不会重复了。
Ⅷ 怎么用JS或php实现自动生成单据编号(以10+当天日期的格式)
php:
$number
=
"10".date("Ymd",time());
可以得到10开头紧接年月日及时间(到秒)如1020120603
$number
=
"10".date("YmdHis",time());
可以得到10开头紧接年月日及时间(到秒)如1020120603231120
如果怕有重复可以在接一些随机数
$number
.=
rand(1000,9999);
Ⅸ 如何生成唯一订单号
首先,订单号有3个性质:1.唯一性 2.不可推测性 3.效率性
唯一性和不可推测性不用说了,效率性是指不能频繁的去数据库查询以避免重复。
况且满足这些条件的同时订单号还要足够的短。
我在java下定制的订单号生成方式如下:
int r1=(int)(Math.random()*(10));//产生2个0-9的随机数
int r2=(int)(Math.random()*(10));
long now = System.currentTimeMillis();//一个13位的时间戳
String paymentID =String.valueOf(r1)+String.valueOf(r2)+String.valueOf(now);// 订单ID
目前规则来看,两个人在同一微秒提交订单重复的概率为1%
订单效果:251393292999921
望采纳!