|
/** |
002 |
* 分割字符串 |
003 |
* |
004 |
* @param str String 原始字符串 |
005 |
* @param splitsign String 分隔符 |
006 |
* @return String[] 分割后的字符串数组 |
007 |
*/ |
008 |
@SuppressWarnings ( "unchecked" ) |
009 |
public static String[] split(String str, String splitsign) { |
010 |
int index; |
011 |
if (str == null || splitsign == null ) |
012 |
return null ; |
013 |
ArrayList al = new ArrayList(); |
014 |
while ((index = str.indexOf(splitsign)) != - 1 ) { |
015 |
al.add(str.substring( 0 , index)); |
016 |
str = str.substring(index + splitsign.length()); |
017 |
} |
018 |
al.add(str); |
019 |
return (String[]) al.toArray( new String[ 0 ]); |
020 |
} |
021 |
022 |
/** |
023 |
* 替换字符串 |
024 |
* |
025 |
* @param from String 原始字符串 |
026 |
* @param to String 目标字符串 |
027 |
* @param source String 母字符串 |
028 |
* @return String 替换后的字符串 |
029 |
*/ |
030 |
public static String replace(String from, String to, String source) { |
031 |
if (source == null || from == null || to == null ) |
032 |
return null ; |
033 |
StringBuffer bf = new StringBuffer( "" ); |
034 |
int index = - 1 ; |
035 |
while ((index = source.indexOf(from)) != - 1 ) { |
036 |
bf.append(source.substring( 0 , index) + to); |
037 |
source = source.substring(index + from.length()); |
038 |
index = source.indexOf(from); |
039 |
} |
040 |
bf.append(source); |
041 |
return bf.toString(); |
042 |
} |
043 |
044 |
/** |
045 |
* 替换字符串,能能够在HTML页面上直接显示(替换双引号和小于号) |
046 |
* |
047 |
* @param str String 原始字符串 |
048 |
* @return String 替换后的字符串 |
049 |
*/ |
050 |
public static String htmlencode(String str) { |
051 |
if (str == null ) { |
052 |
return null ; |
053 |
} |
054 |
055 |
return replace( "\"" , """ , replace( "<" , "<" , str)); |
056 |
} |
057 |
058 |
/** |
059 |
* 替换字符串,将被编码的转换成原始码(替换成双引号和小于号) |
060 |
* |
061 |
* @param str String |
062 |
* @return String |
063 |
*/ |
064 |
public static String htmldecode(String str) { |
065 |
if (str == null ) { |
066 |
return null ; |
067 |
} |
068 |
069 |
return replace( """ , "\"" , replace( "<" , "<" , str)); |
070 |
} |
071 |
072 |
private static final String _BR = "<br/>" ; |
073 |
074 |
/** |
075 |
* 在页面上直接显示文本内容,替换小于号,空格,回车,TAB |
076 |
* |
077 |
* @param str String 原始字符串 |
078 |
* @return String 替换后的字符串 |
079 |
*/ |
080 |
public static String htmlshow(String str) { |
081 |
if (str == null ) { |
082 |
return null ; |
083 |
} |
084 |
085 |
str = replace( "<" , "<" , str); |
086 |
str = replace( " " , " " , str); |
087 |
str = replace( "\r\n" , _BR, str); |
088 |
str = replace( "\n" , _BR, str); |
089 |
str = replace( "\t" , " " , str); |
090 |
return str; |
091 |
} |
092 |
093 |
/** |
094 |
* 返回指定字节长度的字符串 |
095 |
* |
096 |
* @param str String 字符串 |
097 |
* @param length int 指定长度 |
098 |
* @return String 返回的字符串 |
099 |
*/ |
100 |
public static String toLength(String str, int length) { |
101 |
if (str == null ) { |
102 |
return null ; |
103 |
} |
104 |
if (length <= 0 ) { |
105 |
return "" ; |
106 |
} |
107 |
try { |
108 |
if (str.getBytes( "GBK" ).length <= length) { |
109 |
return str; |
110 |
} |
111 |
} catch (Exception ex) { |
112 |
} |
113 |
StringBuffer buff = new StringBuffer(); |
114 |
115 |
int index = 0 ; |
116 |
char c; |
117 |
length -= 3 ; |
118 |
while (length > 0 ) { |
119 |
c = str.charAt(index); |
120 |
if (c < 128 ) { |
121 |
length--; |
122 |
} else { |
123 |
length--; |
124 |
length--; |
125 |
} |
126 |
buff.append(c); |
127 |
index++; |
128 |
} |
129 |
buff.append( "..." ); |
130 |
return buff.toString(); |
131 |
} |
132 |
133 |
/** |
134 |
* 判断是否为整数 |
135 |
* |
136 |
* @param str 传入的字符串 |
137 |
* @return 是整数返回true,否则返回false |
138 |
*/ |
139 |
public static boolean isInteger(String str) { |
140 |
Pattern pattern = Pattern.compile( "^[-\\+]?[\\d]*$" ); |
141 |
return pattern.matcher(str).matches(); |
142 |
} |
143 |
144 |
/** |
145 |
* 判断是否为浮点数,包括double和float |
146 |
* |
147 |
* @param str 传入的字符串 |
148 |
* @return 是浮点数返回true,否则返回false |
149 |
*/ |
150 |
public static boolean isDouble(String str) { |
151 |
Pattern pattern = Pattern.compile( "^[-\\+]?[.\\d]*$" ); |
152 |
return pattern.matcher(str).matches(); |
153 |
} |
154 |
155 |
/** |
156 |
* 判断输入的字符串是否符合Email样式. |
157 |
* |
158 |
* @param str 传入的字符串 |
159 |
* @return 是Email样式返回true,否则返回false |
160 |
*/ |
161 |
public static boolean isEmail(String str) { |
162 |
Pattern pattern = Pattern.compile( "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$" ); |
163 |
return pattern.matcher(str).matches(); |
164 |
} |
165 |
166 |
/** |
167 |
* 判断输入的字符串是否为纯汉字 |
168 |
* |
169 |
* @param str 传入的字符窜 |
170 |
* @return 如果是纯汉字返回true,否则返回false |
171 |
*/ |
172 |
public static boolean isChinese(String str) { |
173 |
Pattern pattern = Pattern.compile( "[\u0391-\uFFE5]+$" ); |
174 |
return pattern.matcher(str).matches(); |
175 |
} |
176 |
177 |
/** |
178 |
* 是否为空白,包括null和"" |
179 |
* |
180 |
* @param str |
181 |
* @return |
182 |
*/ |
183 |
public static boolean isBlank(String str) { |
184 |
return str == null || str.trim().length() == 0 ; |
185 |
} |
186 |
187 |
/** |
188 |
* 判断是不是合法手机 |
189 |
* handset 手机号码 |
190 |
*/ |
191 |
public static boolean isHandset(String handset) { |
192 |
try { |
193 |
if (!handset.substring( 0 , 1 ).equals( "1" )) { |
194 |
return false ; |
195 |
} |
196 |
if (handset== null || handset.length()!= 11 ) { |
197 |
return false ; |
198 |
} |
199 |
String check = "^[0123456789]+$" ; |
200 |
Pattern regex = Pattern.compile(check); |
201 |
Matcher matcher = regex.matcher(handset); |
202 |
boolean isMatched = matcher.matches(); |
203 |
if (isMatched) { |
204 |
return true ; |
205 |
} else { |
206 |
return false ; |
207 |
} |
208 |
} catch (RuntimeException e) { |
209 |
return false ; |
210 |
} |
211 |
} |
212 |
} |
联系客服