废话不多说了,直接给大家贴代码了,具体代码如下所述:
?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
/// <summary>
/// 类型转换类
/// 处理数据库获取字段为空的情况
/// </summary>
public static class DBConvert
{
#region------------------ToInt32类型转换------------------
/// <summary>
/// 读取数据库中字符串并转换成Int32
/// 为空时返回0
/// </summary>
/// <param name="obj">object类型的值</param>
/// <returns>Int32类型</returns>
public static int ToInt32(object obj)
{
int result = 0;
if (IsInt(Convert.ToString(obj)))
{
result = Convert.ToInt32(obj);
}
else if (obj != null && obj is Enum) //处理非null值类型时(或者枚举)
{
result = ((IConvertible)obj).ToInt32(null);
}
return result;
}
/// <summary>
/// 读取数据库中字符串并转换成Int32
/// 为空时返回0
/// </summary>
/// <param name="str">string类型的值</param>
/// <returns>Int32类型</returns>
public static int ToInt32(string str)
{
int result = 0;
if (IsInt(str))
{
result = Convert.ToInt32(str);
}
return result;
}
/// <summary>
/// 判断一个字符串是否属于Int类型
/// 如果是的返回true,如果不是返回false
/// </summary>
/// <param name="str">string类型的值</param>
/// <returns>true:是Int的字符串(即可以转换成Int类型),false:不是Int类型的字符串</returns>
public static bool IsInt(string str)
{
bool result = false;
if (str != "" && str!=null)
{
Regex reg = new Regex("^[0-9]*$");
if (reg.IsMatch(str))
{
result = true;
}
}
return result;
}
#endregion
#region------------------ToString类型转换------------------
/// <summary>
/// 读取数据库中字符串并转换成string
/// </summary>
/// <param name="obj">object类型的值</param>
/// <returns>string类型</returns>
public static string ToString(object obj)
{
string result = "";
if (obj != null)
{
result = Convert.ToString(obj);
}
return result;
}
#endregion
#region------------------ToDouble类型转换------------------
/// <summary>
/// 判断一个字符串是否属于Double类型(包括负浮点型)
/// 如果是的返回true,如果不是返回false
/// </summary>
/// <param name="str">string类型的值</param>
/// <returns>true:是Double的字符串(即可以转换成Double类型),false:不是Double类型的字符串</returns>
public static bool IsDouble(string str)
{
bool result = false;
if (str != "" && str != null)
{
Regex reg = new Regex(@"^(-?\\d+)(\\.\\d+)?$");
if (reg.IsMatch(str))
{
result = true;
}
}
return result;
}
/// <summary>
/// 读取数据库中字符串并转换成Int32
/// 为空时返回0
/// </summary>
/// <param name="obj">object类型的值</param>
/// <returns>Int32类型</returns>
public static double ToDouble(object obj)
{
double result = 0.0;
if (IsDouble(Convert.ToString(obj)))
{
result = Convert.ToDouble(obj);
}
else if (obj != null && obj is Enum) //处理枚举
{
result = ((IConvertible)obj).ToDouble(null);
}
return result;
}
/// <summary>
/// 读取数据库中字符串并转换成Int32
/// 为空时返回0
/// </summary>
/// <param name="str">string类型的值</param>
/// <returns>Int32类型</returns>
public static double ToDouble(string str)
{
double result = 0.0;
if (IsDouble(str))
{
result = Convert.ToDouble(str);
}
return result;
}
#endregion
#region------------------ToDateTime类型转换------------------
/// <summary>
/// 判断时间格式是否是时间类型
/// 如23:10
/// </summary>
/// <param name="str">要判断的字符串</param>
/// <returns>true:是时间类型的字符串(即可以转换成时间类型),false:不是时间类型的字符串</returns>
public static bool isDateTime(string str)
{
bool result = false;
if (str != "" && str != null)
{
Regex reg = new Regex("(([01]\\\\d)|(2[0-3])):[0-5]\\\\d");
if (reg.IsMatch(str))
{
result = true;
}
}
return result;
}
#endregion
}
}
//"^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0)
//"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
//"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //非正浮点数(负浮点数 + 0)
//"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数
//"^(-?\\d+)(\\.\\d+)?$" //浮点数
|
好了,Asp.Net类型转换类(通用类)代码分享到此结束。
下面看下ASP.NET页面数据验证通用类的实例代码。
?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
