获取拼音并生成随机编号
//回填房间类型编号
$("#HTguestroomtype").blur(function () {//获取全写拼音(调用js中方法)resultvar Number = pinyin.getCamelChars($('#HTguestroomtype').val());if(Number.length > 2){Number = Number.substr(0,2);}if(Number.length > 0){$.post("/jdgl/SystemsetController/BackfillGuestRoomTypeNumber",{Number:Number},function(data){//自动回填$("#HTguestroomtypenumber").val(data);});}else{$("#HTguestroomtypenumber").resetForm();}
});
获取拼音我用到的是Convert_Pinyin.js这个插件。我这里的需求是需要五位生成编号,上图中我只要拼音的俩位编号,剩下的三位编号通过随机字符进行拼接。
//自动新增房间类型编号
@ResponseBody
@RequestMapping(value="/BackfillGuestRoomTypeNumber",method = RequestMethod.POST,produces = "application/json; charset=utf-8")
public List<String> BackfillGuestRoomTypeNumber(String Number) {//System.out.println("BackfillGuestRoomTypeNumber欢迎你");String str = "";int listonedata = 1;while(listonedata >= 1) {str = Number + randomthreeNumber();//在SmCommoditycategoryMapper中根据新增的str查询数据库是否有重复数据listonedata = SystemsetService.dbHTypeaddnumber(str);}List<String> list = new ArrayList<String>();list.add(str);return list;
}
从上段代码中可以看到,str是一个拼接值,Number是传过来的俩位编号,randomthreeNumber是一个随机三位字符串的方法。在上图中为啥我会用到while?其实,我只是担心str会出现重复,所以我就进行了一次验证,如果验证不成功,则继续生成一个新的str,所以while是最适合的。
//随机三位字符串
public static String randomthreeNumber(){//System.out.println("SplicingString欢迎你");Random rand = new Random();char[] letters=new char[]{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};String str = "";int index;boolean[] flags = new boolean[letters.length];//默认为falsefor(int i=0;i<3;i++){do{index = rand.nextInt(letters.length);}while(flags[index]==true);char c = letters[index];str += c;flags[index]=true;}return str;
}
下图就是最后的结果(获取房间类型的拼音,并生成随机编号回填类型编号):
这是随机五位大写字母的方法:
private static String bbb(){Random rand = new Random();char[] letters=new char[]{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};String str = "";int index;boolean[] flags = new boolean[letters.length];//默认为falsefor(int i=0;i<5;i++){do{index = rand.nextInt(letters.length);}while(flags[index]==true);char c = letters[index];str += c;flags[index]=true;}System.out.println(str);return str;
}
这是随机五位编号的方法(包括大写字母、小写字母、数字0到9):
private static String ccc() {String str = "";Random rand = new Random();for(int i=0;i<5;i++){int num = rand.nextInt(3);switch(num){case 0:char c1 = (char)(rand.nextInt(26)+'a');//生成随机小写字母str += c1;break;case 1:char c2 = (char)(rand.nextInt(26)+'A');//生成随机大写字母str += c2;break;case 2:str += rand.nextInt(10);//生成随机数字}}System.out.println("生成的5个随机验证码是:"+str);return str;
}
这是生成的结果:
获取拼音并生成随机编号相关推荐
- 这边提供几个公共方法:MD5签名方法、获取时间戳、生成随机串、string转base64、base64转string
目录 1.MD5签名方法 2.获取时间戳,时间戳从1970年1月1日00:00:00至今的秒数,即当前的时间 3.生成随机串 4.string转base64 5.base64转string 1.MD5 ...
- 生成纯字母随机编号的示例(大小写混合).sql
--取得随机数的视图 CREATE VIEW v_RAND AS SELECT re=STUFF(RAND(),1,2,'') GO --生成随机编号的函数 CREATE FUNCTION f_RAN ...
- 生成订单编号,编号格式(由编号类型编码+编号创建平台编码+6位日期+时间戳后4位+4位随机数组成),生成四位或者N位随机数字
如何生成订单编号,编号格式(由编号类型编码+编号创建平台编码+6位日期+时间戳后4位+4位随机数组成),如何生成四位或者N位随机数字. 1:效果 2:测试Demo(直接复制Demo运行) import ...
- websocket中自动生成身份编号(获取sessionID,将sid值设置为sessionID的方法),并在页面刷新时沿用sid的解决方案
websocket如果需要1对1通信,或者说将服务器数据发送到指定的客户端上,就需要给每一个新生成的websocket加上编号.比较常见的,是在地址映射中加上编号,比如: @ServerEndpoin ...
- android uboot获取mac地址,uboot生成随机的MAC地址
uboot生成随机的MAC地址 R.wen 由于设备量产需要每台机器的MAC地址都不一样,所以我们给Uboot增加一个环境变量sysready,用来表示如果系统没有ready,就做一些额外的初始化工作 ...
- 用C#生成随机中文汉字验证码的基本原理
前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码.^_^ 我不得不佩服腾讯为了防止目前网络上横行的QQ号码自 ...
- powershell 使用_如何使用PowerShell生成随机名称和电话号码
powershell 使用 When you need a data set for testing or demonstration, and that set needs to represent ...
- Oracle中根据中文获取拼音首字母
前言 在软件中方便用户查找信息时,都会用到输拼音首字母的简写快速过滤,所以一般我们在Oracle的表中会加上一列助记符列,今天我们就看看将中文怎么转换为拼音首字母. 实现方式 通过oracle的NLS ...
- c++生成随机平面无向连通图
c++生成随机平面无向连通图 算法描述 关键代码 运行结果 算法不足 前言: 为了检验路径搜索算法的优劣,需要用大量的图的数据来运行对应的算法,例如深度优先搜搜.宽度优先搜索.迪杰斯特拉算法等等,而对 ...
最新文章
- Using mongoDB's Profiler analyze the performance of database operations
- 计算机组成原理码质变换,计算机组成原理负数的8421码
- 添加文件然后自动打开
- burp suite 二级域名扫描插件
- javaweb---简易邮件发送
- js十秒没有点击怎么判断_MAC口红怎么判断真假?没批号就没有生产日期,网友:品控太差...
- 英雄联盟修复返回服务器异常,玩LOL英雄联盟在XP中服务器连接异常退出的恢复步骤...
- 常用类 (二) ----- Math类
- 联想黑苹果找不到触摸板_联想s410笔记本安装黑苹果10.11.6成功,功能基本都实现,分享给群里的兄弟们!!!...
- java excel 冻结_Java 冻结、解除冻结 Excel 的行和列
- 超链接打开qq对话框
- 大数据 - MapReduce编程案例 -BH3
- 温习古文之念奴娇·赤壁怀古
- TW6869 drivers porting for freescaleandroid
- linux怎么显示第三个数据,从零开始的linux 第三章
- 引用百度地图API完成热力图
- PacBio相关知识
- python中result函数用法_python中函数的参数和返回值
- 计算机桌面为什么没有语言栏了,电脑语言栏不见了的解决方法
- Java——检索一段话中出现次数最多的英文单词