前言:
今天我们对“js 判断字符串是否为数字”可能比较讲究,我们都想要知道一些“js 判断字符串是否为数字”的相关内容。那么小编在网络上网罗了一些对于“js 判断字符串是否为数字””的相关文章,希望看官们能喜欢,姐妹们一起来了解一下吧!一、个性化字符串工具类(本文重点)
package com.abc.util;import java.util.List;import java.util.Random;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 字符串工具类 * * @author goln */public class StringUtils { public static final String NUMBER_REGEX = "([0-9]\\d*\\.?\\d*)||(0\\.\\d*[1-9])"; public static boolean isNull(String str) { if (null==str) { return true; } else { return str.trim().length() == 0 || "".equals(str); } } //判断字符串是否是数字 public static boolean isNumber(String s) { return s.matches(NUMBER_REGEX); } //获取字符串中的数字 public static String getNumbers(String content) { Pattern pattern = Pattern.compile("\\d+"); Matcher matcher = pattern.matcher(content); while (matcher.find()) { return matcher.group(0); } return ""; } /** * 去除字符串开头的指定字符 * * @param stream 原始字符串 * @param trim 要删除的字符串 * @return */ public static String StringStartTrim(String stream, String trim) { // null或者空字符串的时候不处理 if (stream == null || stream.length() == 0 || trim == null || trim.length() == 0) { return stream; } // 要删除的字符串结束位置 int end; // 正规表达式 String regPattern = "[" + trim + "]*+"; Pattern pattern = Pattern.compile(regPattern, Pattern.CASE_INSENSITIVE); // 去掉原始字符串开头位置的指定字符 Matcher matcher = pattern.matcher(stream); if (matcher.lookingAt()) { end = matcher.end(); stream = stream.substring(end); } // 返回处理后的字符串 return stream; } /** * List<String>转以逗号分隔的String * * @param data * @return */ public static String ListToString(List<String> data) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < data.size(); i++) { if (sb.length() > 0) {//该步即不会第一位有逗号,也防止最后一位拼接逗号! sb.append(","); } sb.append(data.get(i)); } return sb.toString(); } public static String addRightSpace(String str, int length) { int str_length = str.length(); for(int i = 0; i < length - str_length; ++i) { str = str + ' '; } return str; } public static byte[] hexStringToBytes(String src) { byte[] ret = new byte[src.length() / 2]; byte[] tmp = src.getBytes(); for(int i = 0; i < src.length() / 2; ++i) { ret[i] = uniteBytes(tmp[i * 2], tmp[i * 2 + 1]); } return ret; } /** * 随机生成六位数验证码 * @return */ public static int getRandomNum(){ Random r = new Random(); return r.nextInt(900000)+100000; } /** * 随机生成四位数验证码 * @return */ public static int getRandomNum4(){ Random r = new Random(); return r.nextInt(9000)+1000; } /** * 去空格 */ public static String trim(String str) { return (str == null ? "" : str.trim()); } /** * 截取字符串 * * @param str 字符串 * @param start 开始 * @return 结果 */ public static String substring(final String str, int start) { if (str == null) { return ""; } if (start < 0) { start = str.length() + start; } if (start < 0) { start = 0; } if (start > str.length()) { return ""; } return str.substring(start); } /** * 截取字符串 * * @param str 字符串 * @param start 开始 * @param end 结束 * @return 结果 */ public static String substring(final String str, int start, int end) { if (str == null) { return ""; } if (end < 0) { end = str.length() + end; } if (start < 0) { start = str.length() + start; } if (end > str.length()) { end = str.length(); } if (start > end) { return ""; } if (start < 0) { start = 0; } if (end < 0) { end = 0; } return str.substring(start, end); } /** * 下划线转驼峰命名 */ public static String toUnderScoreCase(String str) { if (str == null) { return null; } StringBuilder sb = new StringBuilder(); // 前置字符是否大写 boolean preCharIsUpperCase = true; // 当前字符是否大写 boolean curreCharIsUpperCase = true; // 下一字符是否大写 boolean nexteCharIsUpperCase = true; for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (i > 0) { preCharIsUpperCase = Character.isUpperCase(str.charAt(i - 1)); } else { preCharIsUpperCase = false; } curreCharIsUpperCase = Character.isUpperCase(c); if (i < (str.length() - 1)) { nexteCharIsUpperCase = Character.isUpperCase(str.charAt(i + 1)); } if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase) { sb.append("_"); } else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase) { sb.append("_"); } sb.append(Character.toLowerCase(c)); } return sb.toString(); } /** * 是否包含字符串 * * @param str 验证字符串 * @param strs 字符串组 * @return 包含返回true */ public static boolean inStringIgnoreCase(String str, String... strs) { if (str != null && strs != null) { for (String s : strs) { if (str.equalsIgnoreCase(trim(s))) { return true; } } } return false; } /** * 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld * * @param name 转换前的下划线大写方式命名的字符串 * @return 转换后的驼峰式命名的字符串 */ public static String convertToCamelCase(String name) { StringBuilder result = new StringBuilder(); // 快速检查 if (name == null || name.isEmpty()) { // 没必要转换 return ""; } else if (!name.contains("_")) { // 不含下划线,仅将首字母大写 return name.substring(0, 1).toUpperCase() + name.substring(1); } // 用下划线将原始字符串分割 String[] camels = name.split("_"); for (String camel : camels) { // 跳过原始字符串中开头、结尾的下换线或双重下划线 if (camel.isEmpty()) { continue; } // 首字母大写 result.append(camel.substring(0, 1).toUpperCase()); result.append(camel.substring(1).toLowerCase()); } return result.toString(); } /** * 手机号简单验证 * * @param phoneNumber * @return 验证通过返回true */ public static boolean isPhone(String phoneNumber) { return Pattern.compile("^[1][0-9]{10}$").matcher(phoneNumber).matches(); }}
二、
org.springframework.util.StringUtils包有多个常用字符串处理方法
//1.1 字符串判断方法// 判断字符串是否为 null,或 ""。注意,包含空白符的字符串为非空boolean isEmpty(Object str)// 判断字符串是否是以指定内容结束。忽略大小写boolean endsWithIgnoreCase(String str, String suffix)// 判断字符串是否已指定内容开头。忽略大小写boolean startsWithIgnoreCase(String str, String prefix) // 是否包含空白符boolean containsWhitespace(String str)// 判断字符串非空且长度不为 0,即,Not Emptyboolean hasLength(CharSequence str)// 判断字符串是否包含实际内容,即非仅包含空白符,也就是 Not Blankboolean hasText(CharSequence str)// 判断字符串指定索引处是否包含一个子串。boolean substringMatch(CharSequence str, int index, CharSequence substring)//1.2 字符串处理方法// 计算一个字符串中指定子串的出现次数int countOccurrencesOf(String str, String sub)// 查找并替换指定子串String replace(String inString, String oldPattern, String newPattern)// 去除尾部的特定字符String trimTrailingCharacter(String str, char trailingCharacter) // 去除头部的特定字符String trimLeadingCharacter(String str, char leadingCharacter)// 去除头部的空白符String trimLeadingWhitespace(String str)// 去除头部的空白符String trimTrailingWhitespace(String str)// 去除头部和尾部的空白符String trimWhitespace(String str)// 删除开头、结尾和中间的空白符String trimAllWhitespace(String str)// 删除指定子串String delete(String inString, String pattern)// 删除指定字符(可以是多个)String deleteAny(String inString, String charsToDelete)// 对数组的每一项执行 trim() 方法String[] trimArrayElements(String[] array)// 将 URL 字符串进行解码String uriDecode(String source, Charset charset)//1.3 路径相关方法// 解析路径字符串,优化其中的 “..” String cleanPath(String path)// 解析路径字符串,解析出文件名部分String getFilename(String path)// 解析路径字符串,解析出文件后缀名String getFilenameExtension(String path)// 比较两个两个字符串,判断是否是同一个路径。会自动处理路径中的 “..” boolean pathEquals(String path1, String path2)// 删除文件路径名中的后缀部分String stripFilenameExtension(String path) // 以 “. 作为分隔符,获取其最后一部分String unqualify(String qualifiedName)// 以指定字符作为分隔符,获取其最后一部分String unqualify(String qualifiedName, char separator)
三、String与Map、Json、Date等互转工具类
//3.1 Map转StringMap<String, String> map = new HashMap<String, String>();map.put("key1", "value1");map.put("key2", "value2");map.put("key3", "value3");System.out.println(map.toString());//3.2 String转Mappublic static Map<String,String> mapStringToMap(String str){ str = str.substring(1, str.length()-1); String[] strs = str.split(","); Map<String,String> map = new HashMap<String, String>(); for (String string : strs) { String key = string.split("=")[0]; String value = string.split("=")[1]; // 去掉头部空格 String key1 = key.trim(); String value1 = value.trim(); map.put(key1, value1); } return map;} //3.3Map转换成JsonJSONObject JSONObj = JSONObject.parseObject(JSON.toJSONString(map));//3.4 Json字符串转换成MapMap<String,Object> strMap = JSONObject.parseObject(jsonStr);//3.5 Json对象转Map /*JSON对象转map常用*/Map<String,Object> jsonToMap = JSONObject.parseObject(jsonObject.toJSONString());//3.6 String转jsonJSONObject jasonObject = JSONObject.fromObject(str);//3.7 Json转StringString str = JSON.toJSONString(obj/array);//3.8 String转Datepublic static Date transferString2Date(String s) { Date date = new Date(); try { date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(s); } catch (ParseException e) { //LOGGER.error("时间转换错误, string = {}", s, e); } return date;}//3.9 Date转StringDate date = new Date();SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String time = simpleDateFormat.format(date);Date d = simpleDateFormat.parse(time);
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #js 判断字符串是否为数字