`
joseph_he
  • 浏览: 38969 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

JS 正则表达式应用

    博客分类:
  • java
 
阅读更多

原文地址:http://www.open-open.com/lib/view/open1340699989249.html

 

/* 
判断指定的内容是否为空,若为空则弹出 警告框 
*/ 
function isEmpty(theValue, strMsg){ 
if(theValue==""){ 
alert(strMsg+"不能为空!"); 
return true; 
} 
return false; 
} 
/*
 * 中文判断函数,允许生僻字用英文“*”代替 返回true表示是符合条件,返回false表示不符合
 */ 
function isChinese(str){ 
var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
badChar += "abcdefghijklmnopqrstuvwxyz"; 
badChar += "0123456789"; 
badChar += " "+" ";// 半角与全角空格
badChar += "`~!@#$%^&()-_=+]\\|:;\"\\'<,>?/";// 不包含*或.的英文符号
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i);// 字符串str中的字符
if(badChar.indexOf(c) > -1){ 
return false; 
} 
} 
return true; 
} 
/*
 * 数字判断函数,返回true表示是全部数字,返回false表示不全部是数字
 */ 
function isNumber(str){ 
if(""==str){ 
return false; 
} 
var reg = /\D/; 
return str.match(reg)==null; 
}

/*
 * 判断给定的字符串是否为指定长度的数字 是返回true,不是返回false
 */ 
function isNumber_Ex(str,len){ 
if(""==str){ 
return false; 
}

if(str.length!=len){ 
return false; 
}

if(!isNumber(str)){ 
return false; 
} 
return true; 
}

/*
 * money判断函数,允许第一位为"-"来表示欠钱 返回true表示格式正确,返回false表示格式错误
 */ 
function isMoney(str){ 
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i); 
if(i==0){ 
if(c!="-"&&(c<"0"||c>"9")){ 
return false; 
}else if(c=="-"&&str.length==1){ 
return false; 
} 
}else if(c < "0" || c > "9"){ 
return false; 
} 
} 
return true; 
} 
/*
 * 英文判断函数,返回true表示是全部英文,返回false表示不全部是英文
 */ 
function isLetter(str){ 
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i); 
if((c<"a"||c>"z")&&(c<"A"||c>"Z")){ 
return false; 
} 
} 
return true; 
} 
/*
 * 空格判断,当包含有空格返回false,当不包含一个空格返回true ""不能被判断
 */ 
function notInSpace(str){ 
if(""==str){ 
return false; 
} 
var badChar =" "; 
badChar += " "; 
for(var i=0;i var c = str.charAt(i);// 字符串str中的字符
if(badChar.indexOf(c) > -1){ 
return false; 
} 
} 
return true; 
} 
/*
 * 发票号判断函数,返回true表示是发票号,返回false表示不符合规范
 */ 
function isFPH(str){ 
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i); 
if((c < "0" || c > "9") && (c!="-")&&(c!=",")){ 
return false; 
} 
} 
return true; 
} 
/*
 * 电话判断函数,允许“数字”、“;”、“-”、“(”、”)“, true表示是电话号码
 */ 
function isTelephone(str){ 
var trueChar = "()-;1234567890"; 
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i);// 字符串str中的字符
if(trueChar.indexOf(c) == -1) return false; 
} 
return true; 
} 
/**
 * 学制可以为1-7,也可以为3.5这种形式,不能超过7年或者低于1年
 */ 
function isXZ(str){ 
if(""==str){ 
return false; 
} 
var reg = /^[1-6](\.5)?$/; 
var r = str.match(reg); 
if(null!=r){ 
return true; 
}else{ 
if(str=="7"){ 
return true; 
}else{ 
return false; 
} 
} 
}

/*
 * 判断证书编号是否符合要求,证书编号包含中文、数字、大小写字母、(、)、- 是返回true,不是返回false
 */ 
function isZSBH(str){ 
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i); 
alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
alpha += "abcdefghijklmnopqrstuvwxyz"; 
alpha += "()-"; 
if(!isChinese(c)&&!isNumber(c)&&alpha.indexOf(c)==-1){ 
return false; 
} 
} 
return true; 
}

/*
 * 身份证判断函数,是返回true,不是返回false 15位数字,18位数字或者最后一位为X(大写)
 */ 
function isSFZ(str){ 
if(""==str){ 
return false; 
} 
if(str.length!=15&&str.length!=18){// 身份证长度不正确
return false; 
} 
if(str.length==15){ 
if(!isNumber(str)){ 
return false; 
} 
}else{ 
str1 = str.substring(0,17); 
str2 = str.substring(17,18); 
alpha = "X0123456789"; 
if(!isNumber(str1)||alpha.indexOf(str2)==-1){ 
return false; 
} 
} 
return true; 
} 
/*
 * 得到今天的年,月,日 调用方法:today = new getToday(); 则today.year为今天的年以此类推
 */ 
function getToday(){ 
this.now = new Date(); 
this.year = this.now.getFullYear(); 
this.month = this.now.getMonth(); 
this.day = this.now.getDate(); 
}


js判断数字,字母,中文 
1.

var reg = /^(\w|[\u4E00-\u9FA5])*$/; 
if(arr=username.match(reg)) 
{ 
ti=1; 
return ture; 
} 
else 
{ 
alert("用户名只允许为英文,数字和汉字的混合,\n请检查是否前后有空格或者其他符号"); 
ti=0; 
return false; 
}

2.利用正则表达式限制网页表单里的文本框输入内容:

用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"

用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"

用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"


数字 
<script> 
function check() 
{ 
if(!isNaN(document.all.form.str.value)) 
{ 
alert("数字"); 
} 
</script> 
字母 
<script> 
function check() 
{ 
var str = /[_a-zA-Z]/; 
if(str.test(document.all.form.str.value)) 
{ 
alert("字母"); 
} 
} 
</script> 
<form name="form" action="" onsubmit="return check();"> 
<input type=text name=str> 
<input type=submit> 
<form>

--------------------------------------------------- 
/**
 * 一些常用的javascript函数(方法)
 * 
 * 为便于使用,均书写成String对象的方法 把他保存为.js文件,可方便的扩展字符串对象的功能
 * 
 * 方法名 功 能 ----------- -------------------------------- Trim 删除首位空格 Occurs
 * 统计指定字符出现的次数 isDigit 检查是否由数字组成 isAlpha 检查是否由数字字母和下划线组成 isNumber 检查是否为数 lenb
 * 返回字节数 isInChinese 检查是否包含汉字 isEmail 简单的email检查 isDate 简单的日期检查,成功返回日期对象
 * isInList 检查是否有列表中的字符字符 isInList 检查是否有列表中的字符字符
 */

/** * 删除首尾空格 ** */ 
String.prototype.Trim = function() { 
return this.replace(/(^\s*)|(\s*$)/g, ""); 
}

/** * 统计指定字符出现的次数 ** */ 
String.prototype.Occurs = function(ch) { 
// var re = eval("/[^"+ch+"]/g");
// return this.replace(re, "").length;
return this.split(ch).length-1; 
}

/** * 检查是否由数字组成 ** */ 
String.prototype.isDigit = function() { 
var s = this.Trim(); 
return (s.replace(/\d/g, "").length == 0); 
}

/** * 检查是否由数字字母和下划线组成 ** */ 
String.prototype.isAlpha = function() { 
return (this.replace(/\w/g, "").length == 0); 
} 
/** * 检查是否为数 ** */ 
String.prototype.isNumber = function() { 
var s = this.Trim(); 
return (s.search(/^[+-]?[0-9.]*$/) >= 0); 
}

/** * 返回字节数 ** */ 
String.prototype.lenb = function() { 
return this.replace(/[^\x00-\xff]/g,"**").length; 
}

/** * 检查是否包含汉字 ** */ 
String.prototype.isInChinese = function() { 
return (this.length != this.replace(/[^\x00-\xff]/g,"**").length); 
}

/** * 简单的email检查 ** */ 
String.prototype.isEmail = function() { 
 var strr; 
var mail = this; 
 var re = /(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i; 
 re.exec(mail); 
 if(RegExp.$3!="" && RegExp.$3!="." && RegExp.$2!=".") 
strr = RegExp.$1+RegExp.$2+RegExp.$3; 
 else 
  if(RegExp.$2!="" && RegExp.$2!=".") 
strr = RegExp.$1+RegExp.$2; 
  else 
 strr = RegExp.$1; 
 return (strr==mail); 
}

/** * 简单的日期检查,成功返回日期对象 ** */ 
String.prototype.isDate = function() { 
var p; 
var re1 = /(\d{4})[年./-](\d{1,2})[月./-](\d{1,2})[日]?$/; 
var re2 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{2})[年]?$/; 
var re3 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{4})[年]?$/; 
if(re1.test(this)) { 
p = re1.exec(this); 
return new Date(p[1],p[2],p[3]); 
} 
if(re2.test(this)) { 
p = re2.exec(this); 
return new Date(p[3],p[1],p[2]); 
} 
if(re3.test(this)) { 
p = re3.exec(this); 
return new Date(p[3],p[1],p[2]); 
} 
return false; 
} 
/** * 检查是否有列表中的字符字符 ** */ 
String.prototype.isInList = function(list) { 
var re = eval("/["+list+"]/"); 
return re.test(this); 
}
 

 

分享到:
评论

相关推荐

    javascript正则表达式迷你书 (1).pdf

    本书是 JavaScript 正则表达式的入门级教程,旨在帮助读者快速掌握正则表达式的基本概念和应用。下面是本书的知识点摘要: 第一章:正则表达式字符匹配攻略 * 两种模糊匹配:横向模糊匹配和纵向模糊匹配 * 字符组...

    JavaScript正则表达式迷你书

    《JavaScript正则表达式迷你书》是一本关于JavaScript正则表达式的专业书籍,正则表达式是处理字符串的强大工具,广泛应用于编程语言中的文本处理。本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和...

    jq非空验证,js正则表达式验证邮箱和手机号码

    JavaScript正则表达式是用于匹配字符串模式的强大工具。在验证邮箱和手机号码时,我们需要创建符合特定规则的正则表达式。对于邮箱验证,通常的正则表达式如下: ```javascript var emailRegex = /^[a-zA-Z0-9._%...

    js正则表达式限制文本框只能输入数字,能输小数点.

    ### 正则表达式在JavaScript中的应用:限制文本框只能输入数字及小数点 在Web开发中,经常需要对用户输入的数据进行合法性验证。为了确保数据格式正确且符合预期,开发者通常会在前端使用JavaScript结合HTML来实现...

    正则表达式必知必会v_1.0.pdf

    正则表达式是一种强大的文本处理工具,广泛应用于各个领域。下面是对正则表达式的详细解释: 正则表达式的用途 正则表达式主要用于处理文本,提供了两大主要功能:查找和替换。查找功能允许用户根据不同的规则来...

    JavaScript正则表达式匹配 div style标签

    在JavaScript中,正则表达式以斜杠“/”包围的形式出现,例如`/pattern/flags`。在处理HTML文档时,经常会遇到需要从HTML代码中提取特定信息的情况,比如从一段字符串中匹配`&lt;div&gt;`和`&lt;style&gt;`标签。 在进行正则...

    Javascript正则表达式教程

    ### JavaScript正则表达式教程详解 #### 一、正则表达式概述 正则表达式是一种强大的工具,用于处理文本中的模式匹配与替换。它由一系列普通字符和特殊字符(元字符)组成,用于定义一组规则,从而识别并操作符合...

    javascript正则表达式综合练习

    JavaScript正则表达式是编程语言中的一个重要组成部分,用于处理文本模式匹配和字符串操作。这篇博客“javascript正则表达式综合练习”可能是一个实践教程或示例集合,旨在帮助开发者提升在JavaScript中使用正则...

    JS正则表达式葵花宝典

    在JavaScript编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,广泛应用于字符串的查找、替换和分割等操作。"JS正则表达式葵花宝典"深入讲解了正则表达式的使用技巧和高级特性,特别是针对URL...

    js_正则表达式全攻略

    ### 正则表达式在JavaScript中的应用全攻略 #### 一、正则表达式的概念及其在JavaScript中的重要性 正则表达式(Regular Expression)是一种强大的文本处理工具,能够帮助开发者进行复杂的字符串搜索和替换。在...

    常用正则表达式大全.txt

    根据提供的文件信息,我们可以整理出一系列与正则表达式相关的...以上内容概括了从文件中提取出来的正则表达式知识点,这些知识点覆盖了正则表达式的多个应用场景,对于从事软件开发、数据分析等领域的人来说非常实用。

    精通正则表达式(第三版)简体中文版

    - **JavaScript中的正则表达式**:JavaScript的正则表达式对象提供了丰富的功能,包括全局匹配、忽略大小写等选项。 - **.NET框架中的正则表达式**:通过System.Text.RegularExpressions命名空间提供支持。 #### 六...

    js正则表达式详解

    ### js正则表达式详解 #### 一、正则表达式基础知识 正则表达式是一种强大的文本处理工具,被广泛应用于各种编程语言中,用于文本的查找与替换、验证等场景。JavaScript同样支持正则表达式的使用,并且具有非常...

    JS只能输入数字,数字和字母等的正则表达式

    在JavaScript(JS)中,正则表达式是一种强大的工具,用于匹配、查找、替换和验证字符串中的模式。本文将深入探讨如何使用正则表达式来限制用户在HTML文本框中只能输入数字和字母。 首先,我们需要理解正则表达式的...

    源码(精通正则表达式&实战正则表达式)

    其次,"实战正则表达式两部视频"可能涉及将正则表达式应用于实际项目中的场景,例如: 1. **数据验证**:在表单验证中,使用正则表达式检查邮箱、电话号码、日期格式等。 2. **文本处理**:从大量文本中提取特定...

    正则表达式调试工具

    正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索替换和文本处理等领域。正则表达式调试工具是开发人员用来测试和优化这些模式的重要辅助工具。本文将...

    JS正则表达式大全【6】

    【JS正则表达式大全【6】】这篇文章主要介绍了JavaScript中的正则表达式应用实例,主要探讨了如何利用正则表达式进行字符串处理和数据验证,显著地简化了代码并提高了效率。 首先,文章提到了去除字符串两端空格的...

    使用正则表达式验证一年的12个月份

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作,广泛应用于编程语言中。在IT行业中,正则表达式是处理字符串时不可或缺的一部分,尤其在数据验证、文本提取等方面。在这个场景中,我们需要创建一...

    JavaScript正则表达式.ppt

    了解正则表达式概念 掌握正则表达式的语法 熟练掌握正则表达式在JavaScript中的应用

    js正则表达式限制文本框只能输入字母和汉字

    本篇文章将深入探讨如何使用JavaScript(简称JS)中的正则表达式来实现一个文本框仅能输入字母(包括大小写)和汉字的功能。 #### 1. 理解需求 题目所提及的需求是:创建一个HTML文本框,通过JavaScript控制其输入...

Global site tag (gtag.js) - Google Analytics