这个是生成数字的随机数,如果要有字母和数字同时显示的请问怎么更改
时间:2011-11-08
来源:互联网
<!-- #include file="Include/conn.asp" -->
<!-- #include file="Include/Chk.asp" -->
<%
function gen(digits)
dim rndnum,num
Randomize
Do while Len(rndnum)<digits
num = Cstr(Chr((57-48)*rnd+48))
rndnum = rndnum & num
Loop
gen = rndnum
End function
Server.ScriptTimeout=99999999
name=Request.Form("name")
num=Request.Form("num")
if not isnumeric(name) or not isnumeric(num) then
Response.Write("<script>alert('输入错误,产品编码和生成数量都应该是数字!');history.back();</script>")
Response.End()
end if
num=cint(num)
if num>9999 then
Response.Write("<script>alert('每次只能生成9999个防伪码!');history.back();</script>")
Response.End()
end if
Response.ContentType ="application/vnd.ms-Excel"
%>
<table width="300" border="1" cellspacing="0" cellpadding="0">
<%
n=1
do while n<=num
p=name&"-"&gen(4)&"-"&gen(4)&"-"&gen(4)
Set rs=conn.execute("select top 1 id from zm_p where p='"&p&"'")
if rs.eof then
conn.execute("insert into zm_p(p) values('"&p&"')")
n=n+1
%>
<tr>
<td align="left">
<%=p%>
</td>
</tr>
<%
end if
loop
%>
<tr>
<td align="right">制表日期:<%=now()%></td>
</tr>
</table>
<!-- #include file="Include/Chk.asp" -->
<%
function gen(digits)
dim rndnum,num
Randomize
Do while Len(rndnum)<digits
num = Cstr(Chr((57-48)*rnd+48))
rndnum = rndnum & num
Loop
gen = rndnum
End function
Server.ScriptTimeout=99999999
name=Request.Form("name")
num=Request.Form("num")
if not isnumeric(name) or not isnumeric(num) then
Response.Write("<script>alert('输入错误,产品编码和生成数量都应该是数字!');history.back();</script>")
Response.End()
end if
num=cint(num)
if num>9999 then
Response.Write("<script>alert('每次只能生成9999个防伪码!');history.back();</script>")
Response.End()
end if
Response.ContentType ="application/vnd.ms-Excel"
%>
<table width="300" border="1" cellspacing="0" cellpadding="0">
<%
n=1
do while n<=num
p=name&"-"&gen(4)&"-"&gen(4)&"-"&gen(4)
Set rs=conn.execute("select top 1 id from zm_p where p='"&p&"'")
if rs.eof then
conn.execute("insert into zm_p(p) values('"&p&"')")
n=n+1
%>
<tr>
<td align="left">
<%=p%>
</td>
</tr>
<%
end if
loop
%>
<tr>
<td align="right">制表日期:<%=now()%></td>
</tr>
</table>
作者: gnikilliking 发布时间: 2011-11-08
没明白LZ什么意思+1
作者: cweisledxianzai 发布时间: 2011-11-08
LZ是想做一个类似于数组+字母的随机数组合? 你这个应该是生成一个注册码吧?
p=name&"-"&gen(4)&"-"&gen(4)&"-"&gen(4)
调用的
function gen(digits)
dim rndnum,num
Randomize
Do while Len(rndnum)<digits
num = Cstr(Chr((57-48)*rnd+48))
rndnum = rndnum & num
Loop
gen = rndnum
End function
把function gen(digits)改了
num1=CStr(Chr((57-48)*rnd+48)) '0~9
num2=CStr(Chr((122-97)*rnd+97)) 'a~z
根据你的需要自己改改
p=name&"-"&gen(4)&"-"&gen(4)&"-"&gen(4)
调用的
function gen(digits)
dim rndnum,num
Randomize
Do while Len(rndnum)<digits
num = Cstr(Chr((57-48)*rnd+48))
rndnum = rndnum & num
Loop
gen = rndnum
End function
把function gen(digits)改了
num1=CStr(Chr((57-48)*rnd+48)) '0~9
num2=CStr(Chr((122-97)*rnd+97)) 'a~z
根据你的需要自己改改
作者: butcher2002 发布时间: 2011-11-08
VBScript code
写个函数 <% '******************************************** '功能:获取指定长度的随机数和字母 '参数: ' length:要获取的随机字符串长度 ' mode: 1 数字 ' 2 小写字母 ' 3 大写字母 ' 4 数字和小写字母 ' 5 数字和大写字母 ' 6 小写字母和大写字母 ' 7 数字、小写字母和大写字母 '******************************************** Function Gen(length, mode) Dim rndString, rndChar, i, Arr() Randomize Select Case mode Case 1 '数字 For i = 1 To length rndChar = Cstr(Chr((57 - 48) * rnd + 48)) rndString = rndString & rndChar Next Case 2 '小写字母 For i = 1 To length rndChar = Cstr(Chr((122 - 97) * rnd + 97)) rndString = rndString & rndChar Next Case 3 '大写字母 For i = 1 To length rndChar = Cstr(Chr((90 - 65) * rnd + 65)) rndString = rndString & rndChar Next Case 4 '数字和小写字母 ReDim Arr(35) For i = 0 To 9 Arr(i) = CStr(i) Next For i = 10 To 35 Arr(i) = CStr(Chr(i + 87)) Next For i = 1 To length index = Int((35 - 0) * rnd + 0) rndChar = Arr(index) rndString = rndString & rndChar Next Case 5 '数字和大写字母 ReDim Arr(35) For i = 0 To 9 Arr(i) = CStr(i) Next For i = 10 To 35 Arr(i) = CStr(Chr(i + 55)) Next For i = 1 To length index = Int((35 - 0) * rnd + 0) rndChar = Arr(index) rndString = rndString & rndChar Next Case 6 '小写字母和大写字母 ReDim Arr(51) For i = 0 To 25 Arr(i) = CStr(Chr(i + 97)) Next For i = 26 To 51 Arr(i) = CStr(Chr(i + 39)) Next For i = 1 To length index = Int((51 - 0) * rnd + 0) rndChar = Arr(index) rndString = rndString & rndChar Next Case 7 '数字、小写字母和大写字母 ReDim Arr(61) For i = 0 To 9 Arr(i) = CStr(i) Next For i = 10 To 35 Arr(i) = CStr(Chr(i + 87)) Next For i = 36 To 61 Arr(i) = CStr(Chr(i + 29)) Next For i = 1 To length index = Int((61 - 0) * rnd + 0) rndChar = Arr(index) rndString = rndString & rndChar Next Case Else rndString = "" End Select Gen = rndString End Function %>
作者: netbooting 发布时间: 2011-11-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28