`
joseph_he
  • 浏览: 37408 次
  • 性别: 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正则表达式应用

    javaScript正则表达式应用 javaScript正则表达式应用

    JavaScript正则表达式.ppt

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

    js正则表达式详解

    包含js正则表达式基础知识、Jakarta-ORO库和一些HTML应用实例

    精通正则表达式,有关正则表达式的所有应用

    正则表达式的所有应用都有哦·正则表达式+ASP,正则表达式+JSP,正则表达式+JAVASCRIPT等等

    完整版正则表达式应用一例.rar

    完整版正则表达式应用一例.rar 完整版正则表达式应用一例.rar 完整版正则表达式应用一例.rar 完整版正则表达式应用一例.rar 完整版正则表达式应用一例.rar 完整版正则表达式应用一例.rar

    正则表达式使用详解及使用实例

    此外,象JavaScript这种客户端的脚本语言也提供了对正则表达式的支持。由此可见,正则表达式已经超出了某种语言或某个系统的局限,成为人们广为接受的概念和功能。  正则表达式可以让用户通过使用一系列的特殊字符...

    神奇的匹配 正则表达式求精之旅

    并基于目前流行的程序语言和应用环境(如C#、ASP.NET、JSP、JavaScript或PHP),全面介绍了创建正则表达式的方法,以及正则表达式在Web环境中的各种应用。 《神奇的匹配:正则表达式求精之旅》适合广大Web网站开发...

    经典Javascript正则表达式

    经典Javascript正则表达式 正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。  匹配中文字符的正则表达式:  [\...

    正则表达式的应用

    介绍了正则表达式的基本概念,以及在VBScript和javascript中如何使用正则表达式,同时,通过一些实例让大家有了感性的认识。正则表达式的应用范围很广,能为大家解决很多实际中的问题。

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/...

    正则表达式学习视频

    正则表达式学习视频,包括正则表达式的简单语法,高级语法,和在JS。java语言中的应用

    JavaScript 正则表达式高级应用

    JavaScript 正则表达式 里面包含了各种正则表达式规则适合新手学习使用

    韩顺平 深入浅出 js第十一章 正则表达式详解.ppt

    正则表达式详解.ppt js 深入理解正则表达式应用 深入浅出

    在PHP中使用与Perl兼容的正则表达式

    PHP被大量的应用于Web的后台CGI开发,通常是在用户数据数据之后得出...此外,JavaScript这种客户端的脚本语言也提供了对正则表达式的支持,现在正则表达式已经成为了一个通用的概念和工具,被各类技术人员所广泛使用。

    php正则表达式

    能应用些基本正则表达式正则表达式是在各种各样语言中突出古怪特征中种但是由于它们看起来是很难个概念 所以很多开发者就把它们放到了角落里忘记了它们存在 让我们先来看看什么是正则表达式为什么你要在PHP中用到...

    常用的JavaScript验证正则表达式应用规则

    要匹配“toon”,使用“tn”正则表达式。这里不能使用方扩号,因为方括号只答应匹配单个字符;这里必须使用圆括号“”。圆括号还可以用来分组,具体请参见后面介绍。1.4表示匹配次数的符号表一显示了表示匹配次数的...

    正则表达式测试器。exe

    正则表达式测试器是程序...不管您是PHP还是.NET程序员,不管您正在做窗口应用开发,还是采用JAVASCRIPT进行WEB开发,正则表达式都能助您一臂之力。软件还提供了常用的正则表达式库供随时调用参考。本软件为免费软件。

    JavaScript正则表达式及JSON教程

    熟悉JavaScript正则表达式的语法规则及使用方法,JSON数据的应用

    C# 最全的日期正则表达式,没有之一

    考虑到这个正则表达式仅仅是用作验证,所以捕获组没有意义,只会占用资源,影响匹配效率,所以可以使用非捕获组来进行优化。 ^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2...

    JavaScript正则表达式迷你书(1.1版)_程序逻辑_

    针对于程序员编程逻辑题的相关思考,展现出思维逻辑在变成面前的强大效果,应用正则解决问题

Global site tag (gtag.js) - Google Analytics