java js常用正则表达式和工具函数
2017-03-09 14:53
465 查看
一. java常用工具函数
1.1 日期函数//按照指定格式获取当前日期字符串 public static String getCurrentDate(String format) { // TODO Auto-generated method stub Date date = new Date(); return dateToString(date,format); } //将指定日期转换为字符串 private static String dateToString(Date date, String format) { // TODO Auto-generated method stub if(ClassUtil.isNull(format)){ format = "yyyy-MM-dd"; } String newDate = ""; SimpleDateFormat sdf = new SimpleDateFormat(format); try { if (date != null) { newDate = sdf.format(date); } } catch (Exception e) { logger.error(e.getMessage(), e); } return newDate; } //获取当前日期时间字符串 public static String getCurrentDateTimeStr(){ SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); Date dd = new Date(); String str = format.format(dd); return str; }
1.2 工具函数
public class ClassUtil { /** * 输出对象的所有属性值 * */ public static String toString(Object obj){ String s = ""; try { s = getPropertyString(obj); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return s; } public static String getPropertyString(Object entityName) throws Exception { Class<? extends Object> c = entityName.getClass(); Field field [] = c.getDeclaredFields(); StringBuffer sb = new StringBuffer(); sb.append("------ " + " begin ------\n"); for(Field f : field){ sb.append(f.getName()); sb.append(" : "); sb.append(invokeMethod(entityName, f.getName(), null)); sb.append("\n"); } sb.append("------ " + " end ------\n"); return sb.toString(); } public static Object invokeMethod(Object owner, String methodName, Object[] args) throws Exception{ Class<? extends Object> ownerClass = owner.getClass(); methodName = methodName.substring(0, 1).toUpperCase() + methodName.substring(1); Method method = null; try { method = ownerClass.getMethod("get" + methodName); } catch (SecurityException e) { // TODO Auto-generated catch block //e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block //e.printStackTrace(); return " can't find 'get" + methodName + "' method"; } return method.invoke(owner); } //从url地址中获取文件名 public static String getFileNameFromUrl(String fileUrl) { String fileName = ""; if(!ClassUtil.isNull(fileUrl)){ Integer index = fileUrl.lastIndexOf("/"); if(index>-1){ fileName = fileUrl.substring(index+1); } } return fileName; } //若获取的变量为null 则返回空字符串 public static String dealStrWithNull(String str){ return (str == null? "":str); } //将文件url地址中的文件名进行编码后 以防文件名中存在加号等特殊符号 导致附件无法下载 public static String encodeFileNameForUrl(String fileUrl) throws UnsupportedEncodingException{ String fileName = ""; if(!ClassUtil.isNull(fileUrl)){ Integer index = fileUrl.lastIndexOf("/"); if(index>-1){ String urlPrefix = fileUrl.substring(0,index+1); fileName = fileUrl.substring(index+1); fileName = URLEncoder.encode(fileName,"UTF-8"); fileUrl = urlPrefix + fileName; } } return fileUrl; } //对文件url中的文件名进行utf-8解码 以防文件名中存在加号等特殊符号 导致附件无法下载 public static String decodeFileNameForUrl(String fileUrl) throws UnsupportedEncodingException{ String fileName = ""; if(!ClassUtil.isNull(fileUrl)){ Integer index = fileUrl.lastIndexOf("/"); if(index>-1){ String urlPrefix = fileUrl.substring(0,index+1); fileName = fileUrl.substring(index+1); fileName = URLDecoder.decode(fileName,"UTF-8"); fileUrl = urlPrefix + fileName; } } return fileUrl; } //去掉字符串中的制表符 换行符 空格 暂时未使用 public static String replaceBlank(String str) { String dest = ""; if (str!=null) { Pattern p = Pattern.compile("\\s*|\t|\r|\n"); Matcher m = p.matcher(str); dest = m.replaceAll(""); } return dest; } // 判断一个字符是否是中文 public static boolean isChineseChar(char c) { return c >= 0x4E00 && c <= 0x9FA5;// 根据字节码判断 } //针对数据库varchar类型 计算字符串长度:中文字符数*2 + 英文字符数<= 数据库字段设定长度 // 判断一个字符串是否含有中文 public static Integer getDBStrLength(String str) { Integer len = 0; if(str != null && str.length()>0){ char[] arr = str.toCharArray(); for(int i=0; i<arr.length; i++){ if(isChineseChar(arr[i])){ len += 2; }else{ len += 1; } }//for } return len; } //根据字符串长度以及长度限制 对字符串进行截断处理 public static String getTruncateStrByMaxLength(String str,Integer maxLen) { String result = ""; Integer len = 0; if(str != null && str.length()>0){ char[] arr = str.toCharArray(); for(int i=0; i<arr.length; i++){ if(isChineseChar(arr[i])){ len += 2; }else{ len += 1; } if(len <= maxLen){ result += arr[i]; }else{ break; } }//for } return result; } //针对字段内容中含有逗号的字符串 双引号内的逗号不分割 双引号外的逗号进行分割 public static String[] splitStrWithComma(String str){ String[] strArr = str.trim().split(",(?=([^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)",-1); //双引号内的逗号不分割 双引号外的逗号进行分割 return strArr; } //读取props.properties public static void main(String[] args) throws UnsupportedEncodingException{ /*ResourceBundle rb = ResourceBundle.getBundle("props.properties"); String temp = rb.getString("ATTACHMENT_SIZE"); System.out.println("temp: " + temp);*/ //trim() 可去掉字符串前后的换行符和空格 System.out.println(new String("just do it!\n").trim()); System.out.println("aaa"); String str = "aa \n bb \n cc "; str = str.trim().replace("\n", ""); System.out.println("str: " + str + "; str length: " + str.split(";").length); System.out.println("aaa"); } }
二. js
2.1 正则表达式2.1.1 整数或者小数
//整数或者两位以内的小数 if(!((/^\d+(\.\d{1,2})?$/).test(inputValue) )){ alert("输入应为整数或者两位以内的小数"); return false; } //只能是非负整数或者只有一位小数 var reg = /^[0-9]\d*([.][0-9])?$/; if(!reg.test(work_hour)){ g_validFlag = 0; alert("只能是非负整数或小数点后一位的非负小数"); return; }
2.1.2 是否为非负整数
//是否为非负整数 function isDigital(ele){ return(/^[0-9]+$/.test(ele)); } //判断是否是非负数 function notNegativeNumber(value){ if(/^\d+(\.\d+)?$/.test(value)){ return true; } return false; }
2.1.3 判断是否为数字
//判断输入是否是整数 function isDigital(str){ if(/^\d+$/.test(str)){ return true; } return false; }
2.2 数组排序
对象数组排序,如果name对应值相同,则按minor进行排序
var by = function(name,minor){ return function(o,p){ var a,b; if(o && p && typeof o === 'object' && typeof p ==='object'){ a = o[name]; b = p[name]; if(a === b){ return typeof minor === 'function' ? minor(o,p):0; } if(typeof a === typeof b){ return a < b ? -1:1; } return typeof a < typeof b ? -1 : 1; }else{ thro("error"); } } } employees.sort(by('age',by('name')));
相关文章推荐
- 常用正则表达式-作为工具记录下来
- 几个常用的用正则表达式验证字符串的函数
- 常用JS验证函数以及正则表达式
- 【python】正则表达式-常用函数
- PHP 正则表达式常用函数使用小结
- [收藏]几个常用的用正则表达式验证字符串的函数
- 常用的正则表达式函数类(C#版)
- PHP常用正则表达式函数浅析
- PHP 正则表达式常用函数
- Python 正则表达式(常用函数)
- 几个常用的用正则表达式验证字符串的函数
- 正则表达式学习 二(常用函数详解)
- PHP 正则表达式常用函数使用小结
- js正则表达式常用的大部分函数
- Js:常用的正则表达式验证函数
- 正则表达式--常用JS验证函数总结
- js常用正则表达式验证函数
- 小结:PHP 正则表达式常用函数--PCRE模式篇
- 常用工具之 vb转化C# 数据连接串 正则表达式查询 源码世界 脚本字典
- PHP 正则表达式常用函数使用小结