[收藏]几个常用的用正则表达式验证字符串的函数

<!-- name,phone,age,money checked-->
<script language=javascript runat=server>
  isName = /^[A-Za-z\-]+$/;   //这个是表明输入的名字只能是字母和连字符组成
  isPhone = /^(\+\d+ )?(\(\d+\) )?[\d ]+$/; //这个是国际通用的电话号码判断
  isAge  = /^(1[0-2]\d|\d{1,2})$/; //这个是年龄的判断
  isMoney = /^\d+\.\d{2}$/;  //这个是判断输入的是否为货币值
</script>
 <!-- Email地址有效性验证函数-->
<script language=javascript runat=server>
  function isEmail(src) {
    return (isEmail1.test(src) && isEmail2.test(src));
  }

  isEmail1    = /^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w+$/;
  isEmail2    = /^.*@[^_]*$/;
</script>
 <!-- IP地址有效性验证函数-->
 <script language=javascript runat=server>
    ip_ip = '(25[0-5]|2[0-4]\\d|1\\d\\d|\\d\\d|\\d)';
    ip_ipdot = ip + '\\.';
    isIPaddress = new RegExp('^'+ip_ipdot+ip_ipdot+ipdot+ip_ip+'$');
</script>
  
<!-- password有效性验证函数-->
<script language=javascript runat=server>
function TestPwd(src)
{
  var sxf,regex;
 sxf='^[\\w]{6,12}$';
  regex=new RegExp(sxf);
  return regex.test(src);
}
</script>
 
<!--ZipCode check function-->
<script language=javascript runat=server>
function TestZipCode(src)
 {
  var ZipCode,regex;
  ZipCode="^[\\d]{6}$"
  regex=new RegExp(ZipCode);
  return regex.test(src);
 }
</script>
 
<!--验证用户输入身份证号的合法性-->
<script language=javascript runat=server>
  isIdCorrect1=/^\d{15}$/;
  isIdCorrect2=/^\d{18}$/;
  function isIdCorrect(src)
  {
    return(isIdCorrect1.test(src)&&isIdCorrect2.test(src));
  }
</script>

应用也很简单,以上函数均是应用在服务器端,若用在客户端需要把runat=server去掉。我举两个例子:

IF isIPaddress.test(str)=false THEN 
 Response.Write"IP 地址错误,请重新输入。" 
 Response.End 
END IF 
IF TestPwd(str)=false THEN 
  Response.Write"密码错误,请重新输入。" 
 Response.End 
END IF 

事实上你只要熟练掌握正则表达式的应用,对于判断字符串输入的正确性那简直是小菜一碟。正则表达式还能用于字符串替换,ubb语法就是用正则表达式的替换做成的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

go语言的sql包原理与用法分析

go的sql包是在pkg/database中,里面的两个包sql和sql/driver可以一起看。建议看这个两个包之前可以先看看sql文件夹下的doc.txt。...

30840
来自专栏别先生

c3p0和QueryRunner的结合使用,让开发更加简便

1:DBUtils中的QueryRunner的使用:   1.1:QueryRunner中提供了对SQL语句操作的api;   1.2:主要有三个方法:    ...

66880
来自专栏MasiMaro 的技术博文

OLEDB不使用SQL语句直接打开数据表

这样的sql语句。SQL语句必然伴随着数据库的解释执行,一般来说效率比较低下,而且使用SQL语句时需要数据库支持ICommandText对象,但是在OLEDB中...

10320
来自专栏xiaoheike

Hibernate save, saveOrUpdate, persist, merge, update 区别

hibernate save()方法能够保存实体到数据库,正如方法名称save这个单词所表明的意思。我们能够在事务之外调用这个方法,这也是我不喜欢使用这个方法保...

18330
来自专栏*坤的Blog

自写文件小工具类

19030
来自专栏nice_每一天

Elasticsearch JavaApi

 官网JavaApi地址:https://www.elastic.co/guide/en/elasticsearch/client/java-api/curre...

77340
来自专栏伦少的博客

打印(获取)HDFS路径下所有的文件名(包括子目录下的)

自己有个需求,如题,需要获取HDFS路径下所有的文件名,然后根据文件名用Spark进行后续操作。想了一下用Spark好像不太容易获取到,还要递归的去获取子目录下...

34810
来自专栏数据结构与算法

BZOJ1269: [AHOI2006]文本编辑器editor

Descriptio 这些日子,可可不和卡卡一起玩了,原来可可正废寝忘食的想做一个简单而高效的文本编辑器。你能帮助他吗? 为了明确任务目标,可可对“文本编辑器...

30270
来自专栏技术博客

Entity Framework DataAnnotations

DataAnnotation 特性由.NET 3.5中引进,给.NET中的类提供了一种添加验证的方式。但是在EF中它又可以对映射关系进行控制,相比较Fluent...

10730
来自专栏Greenplum

Greenplum 对JSON的支持

源文章:http://www.postgresqltutorial.com/postgresql-json/

9110

扫码关注云+社区

领取腾讯云代金券