查看: 1487|回复: 6
打印 上一主题 下一主题

[经验分享] 使用正则表达式来检测内容合法性

[复制链接]

100

主题

3

听众

7683

积分

高级设计师

Rank: 6Rank: 6

纳金币
2378
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2015-2-3 22:18:37 |只看该作者 |倒序浏览
使用正则表达式来检测内容合法性
在游戏中经常对在注册账号、对比用户输入时进行规范。那么使用正则表达式就可以轻松做到这一点在此总结以下18种常用情况,方便大家使用
常用的检测方法:

1.纯数字检测:public string A = “^[0-9]+$”;

2.11位手机号码(1开头):public string B = "^1\d{10}$"';

3.数字或英文:public string C = "^[A-Za-z0-9]+$";

4.纯汉字:public string D = "^[\u4e00-\u9fa5]+$";

5.身份证:
//身份证正则表达式(15位)
public string E1 ="/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/";
//身份证正则表达式(18位)
public string E2 ="/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/";

6.验证 E-mail 格式: string F= "\\w{1,}@\\w{1,}\\.\\w{1,}";   

7.判断日期时间,
               1.2009-1-2/12:01
               2.12-1/13:05
               3.15:52
同时支持3种格式的判断:  string G="(\d{4}-)*([01]*\d-[0-3]*\d\/)*[0-2]*\d:[0-5]*\d";

8.验证密码 由不小于6位不大于15位的字母数字下划线特殊符号组成
string H= "^.{6,15}___FCKpd___0quot;;//限定开头,须从第一位开始匹配,限定结尾,总位数不得超过15位,否则即使大于15位仍然可以验证通过   
System.Text.RegularExpressions.Regex regPwd = new System.Text.RegularExpressions.Regex(H, options);   
string pwd = txtPwd.Text;   
if (regPwd.IsMatch(pwd))   
{     YES}else{no};

9.校验用户姓名:只能输入1-30个以字母开头的字串
function  isTrueName(s)
{
var  patrn=/^[a-zA-Z]{1,30}$/;
if  (!patrn.exec(s))  return  false
return  true
}

10.校验密码:只能输入6-20个字母、数字、下划线
function  isPasswd(s)
{
var  patrn=/^(\w){6,20}$/;
if  (!patrn.exec(s))  return  false
return  true
}

11.校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function  isTel(s)
{
//var  patrn=/^[+]{0,1}(\d){1,3}[  ]?([-]?(\d){1,12})+$/;
var  patrn=/^[+]{0,1}(\d){1,3}[  ]?([-]?((\d)|[  ]){1,12})+$/;
if  (!patrn.exec(s))  return  false
return  true
}

12.校验手机号码:必须以数字开头,除数字外,可含有“-”
function  isMobil(s)
{
var  patrn=/^[+]{0,1}(\d){1,3}[  ]?([-]?((\d)|[  ]){1,12})+$/;
if  (!patrn.exec(s))  return  false
return  true
}

13.校验邮政编码
function  isPostalCode(s)
{
//var  patrn=/^[a-zA-Z0-9]{3,12}$/;
var  patrn=/^[a-zA-Z0-9  ]{3,12}$/;
if  (!patrn.exec(s))  return  false
return  true
}

14.校验搜索关键字
function  isSearch(s)
{
var  patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/;
if  (!patrn.exec(s))  return  false
return  true
}

function  isIP(s)  //by  zergling
{
var  patrn=/^[0-9.]{1,20}$/;
if  (!patrn.exec(s))  return  false
return  true

15.校验邮箱
function  isEmail(s)
{
var  patrn=/^[a-zA-Z0-9_\-]{1,}@[a-zA-Z0-9_\-]{1,}\.[a-zA-Z0-9_\-.]{1,}$/;
if  (!patrn.exec(s))  return  false
return  true
}

16.校验日期
function  isdate(s)
{
var  patrn=/^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|([1-2][0-3]))\[0-5]?[0-9])((\s)|(\[0-5]?[0-9])))))?$/;
if  (!patrn.exec(s))  return  false
return  true
}

17.校验货币格式
function  isCurrency(s)
{
var  patrn=/^\d+(\.\d+)?$/;
if  (!patrn.exec(s))  return  false
return  true
}


18.邮政编码判断: string I="^[1-9]\d{5}$";

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

115

主题

3

听众

5676

积分

高级设计师

Rank: 6Rank: 6

纳金币
7268
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2015-2-3 22:22:43 |只看该作者
Thanks for sharing this one !
回复

使用道具 举报

may    

8830

主题

80

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52312
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

板凳
发表于 2015-2-3 22:25:06 |只看该作者
里面有哭哭脸啊
回复

使用道具 举报

0

主题

1

听众

1888

积分

助理设计师

Rank: 4

纳金币
0
精华
0

活跃会员

地板
发表于 2015-2-3 23:20:28 |只看该作者

Thanks for sharing this one !
回复

使用道具 举报

0

主题

0

听众

772

积分

初级设计师

Rank: 3Rank: 3

纳金币
5
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2015-2-4 02:18:27 |只看该作者
回复

使用道具 举报

0

主题

0

听众

772

积分

初级设计师

Rank: 3Rank: 3

纳金币
5
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2015-2-4 02:19:10 |只看该作者
有哭哭脸,直接给个文件呗
回复

使用道具 举报

74

主题

2

听众

3549

积分

中级设计师

Rank: 5Rank: 5

纳金币
-100
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2015-2-4 08:21:25 |只看该作者
这些验证服务器端作就行了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-18 16:07 , Processed in 0.087444 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部