//回填房间类型编号
$("#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;
}

这是生成的结果:

获取拼音并生成随机编号相关推荐

  1. 这边提供几个公共方法:MD5签名方法、获取时间戳、生成随机串、string转base64、base64转string

    目录 1.MD5签名方法 2.获取时间戳,时间戳从1970年1月1日00:00:00至今的秒数,即当前的时间 3.生成随机串 4.string转base64 5.base64转string 1.MD5 ...

  2. 生成纯字母随机编号的示例(大小写混合).sql

    --取得随机数的视图 CREATE VIEW v_RAND AS SELECT re=STUFF(RAND(),1,2,'') GO --生成随机编号的函数 CREATE FUNCTION f_RAN ...

  3. 生成订单编号,编号格式(由编号类型编码+编号创建平台编码+6位日期+时间戳后4位+4位随机数组成),生成四位或者N位随机数字

    如何生成订单编号,编号格式(由编号类型编码+编号创建平台编码+6位日期+时间戳后4位+4位随机数组成),如何生成四位或者N位随机数字. 1:效果 2:测试Demo(直接复制Demo运行) import ...

  4. websocket中自动生成身份编号(获取sessionID,将sid值设置为sessionID的方法),并在页面刷新时沿用sid的解决方案

    websocket如果需要1对1通信,或者说将服务器数据发送到指定的客户端上,就需要给每一个新生成的websocket加上编号.比较常见的,是在地址映射中加上编号,比如: @ServerEndpoin ...

  5. android uboot获取mac地址,uboot生成随机的MAC地址

    uboot生成随机的MAC地址 R.wen 由于设备量产需要每台机器的MAC地址都不一样,所以我们给Uboot增加一个环境变量sysready,用来表示如果系统没有ready,就做一些额外的初始化工作 ...

  6. 用C#生成随机中文汉字验证码的基本原理

    前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码.^_^ 我不得不佩服腾讯为了防止目前网络上横行的QQ号码自 ...

  7. powershell 使用_如何使用PowerShell生成随机名称和电话号码

    powershell 使用 When you need a data set for testing or demonstration, and that set needs to represent ...

  8. Oracle中根据中文获取拼音首字母

    前言 在软件中方便用户查找信息时,都会用到输拼音首字母的简写快速过滤,所以一般我们在Oracle的表中会加上一列助记符列,今天我们就看看将中文怎么转换为拼音首字母. 实现方式 通过oracle的NLS ...

  9. c++生成随机平面无向连通图

    c++生成随机平面无向连通图 算法描述 关键代码 运行结果 算法不足 前言: 为了检验路径搜索算法的优劣,需要用大量的图的数据来运行对应的算法,例如深度优先搜搜.宽度优先搜索.迪杰斯特拉算法等等,而对 ...

最新文章

  1. Using mongoDB's Profiler analyze the performance of database operations
  2. 计算机组成原理码质变换,计算机组成原理负数的8421码
  3. 添加文件然后自动打开
  4. burp suite 二级域名扫描插件
  5. javaweb---简易邮件发送
  6. js十秒没有点击怎么判断_MAC口红怎么判断真假?没批号就没有生产日期,网友:品控太差...
  7. 英雄联盟修复返回服务器异常,玩LOL英雄联盟在XP中服务器连接异常退出的恢复步骤...
  8. 常用类 (二) ----- Math类
  9. 联想黑苹果找不到触摸板_联想s410笔记本安装黑苹果10.11.6成功,功能基本都实现,分享给群里的兄弟们!!!...
  10. java excel 冻结_Java 冻结、解除冻结 Excel 的行和列
  11. 超链接打开qq对话框
  12. 大数据 - MapReduce编程案例 -BH3
  13. 温习古文之念奴娇·赤壁怀古
  14. TW6869 drivers porting for freescaleandroid
  15. linux怎么显示第三个数据,从零开始的linux 第三章
  16. 引用百度地图API完成热力图
  17. PacBio相关知识
  18. python中result函数用法_python中函数的参数和返回值
  19. 计算机桌面为什么没有语言栏了,电脑语言栏不见了的解决方法
  20. Java——检索一段话中出现次数最多的英文单词

热门文章

  1. 加载AB包(AssetBundle),通过Manifest文件,加载依赖
  2. MFC常识性知识汇总
  3. 统计学中存在两类错误:I型错误II型错误 为什么人们主要关心I型错误
  4. 选择IT运维工具,拒绝裸奔。
  5. iOS-申请邓白氏编码的超详细流程介绍(2017.06.12)
  6. 李宏毅机器学习笔记13:Why Deep
  7. Android5.1 修改距离感应的阈值
  8. 第四届图灵杯-C.来简单地数个数(费波纳兹,字符串数据处理)
  9. 如何实施企业采购战略?
  10. python and 我爱自然语言处理