JavaScript 中的正则表达式(推荐)

所属分类: 网络编程 / 正则表达式 阅读数: 2031
收藏 0 赞 0 分享

正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。

正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式"ab*"如果用于查找"abbbc",将找到"abbb"。而如果使用非贪婪的数量词"ab*?",将找到"a"。

var pageIndex=document.getElementById("textfield").value;
if(!/^[0-9]+$/.test(pageIndex)){ 
alert("请输入正整数");
 return false; 
} else{
 alert("输入的是正整数");
}
/判断输入内容是否为空 
function IsNull(){ 
var str = document.getElementById('str').value.trim(); 
if(str.length==0){ 
alert('对不起,文本框不能为空或者为空格!');//请将“文本框”改成你需要验证的属性名称! 
} 
} 
//判断日期类型是否为YYYY-MM-DD格式的类型 
function IsDate(){ 
var str = document.getElementById('str').value.trim(); 
if(str.length!=0){ 
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; 
var r = str.match(reg); 
if(r==null) 
alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称! 
} 
} 
//判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 
function IsDateTime(){ 
var str = document.getElementById('str').value.trim(); 
if(str.length!=0){ 
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
var r = str.match(reg); 
if(r==null) 
alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称! 
} 
} 
//判断日期类型是否为hh:mm:ss格式的类型 
function IsTime() 
{ 
var str = document.getElementById('str').value.trim(); 
if(str.length!=0){ 
reg=/^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/ 
if(!reg.test(str)){ 
alert("对不起,您输入的日期格式不正确!");//请将“日期”改成你需要验证的属性名称! 
} 
} 
} 
//判断输入的字符是否为英文字母 
function IsLetter() 
{ 
var str = document.getElementById('str').value.trim(); 
if(str.length!=0){ 
reg=/^[a-zA-Z]+$/; 
if(!reg.test(str)){ 
alert("对不起,您输入的英文字母类型格式不正确!");//请将“英文字母类型”改成你需要验证的属性名称! 
} 
} 
} 
//判断输入的字符是否为整数 
function IsInteger() 
{ 
var str = document.getElementById('str').value.trim(); 
if(str.length!=0){ 
reg=/^[-+]?\d*$/; 
if(!reg.test(str)){ 
alert("对不起,您输入的整数类型格式不正确!");//请将“整数类型”要换成你要验证的那个属性名称! 
} 
} 
} 
//判断输入的字符是否为双精度 
function IsDouble(val) 
{ 
var str = document.getElementById('str').value.trim(); 
if(str.length!=0){ 
reg=/^[-\+]?\d+(\.\d+)?$/; 
if(!reg.test(str)){ 
alert("对不起,您输入的双精度类型格式不正确!");//请将“双精度类型”要换成你要验证的那个属性名称! 
} 
} 
} 
//判断输入的字符是否为:a-z,A-Z,0-9 
function IsString() 
{ 
var str = document.getElementById('str').value.trim(); 
if(str.length!=0){ 
reg=/^[a-zA-Z0-9_]+$/; 
if(!reg.test(str)){ 
alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! 
} 
} 
} 
//判断输入的字符是否为中文 
function IsChinese() 
{ 
var str = document.getElementById('str').value.trim(); 
if(str.length!=0){ 
reg=/^[\u0391-\uFFE5]+$/; 
if(!reg.test(str)){ 
alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! 
} 
} 
} 

//判断输入的EMAIL格式是否正确 
function IsEmail() 
{ 
var str = document.getElementById('str').value.trim(); 
if(str.length!=0){ 
reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; 
if(!reg.test(str)){ 
alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! 
} 
} 
} 
//判断输入的邮编(只能为六位)是否正确 
function IsZIP() 
{ 
var str = document.getElementById('str').value.trim(); 
if(str.length!=0){ 
reg=/^\d{6}$/; 
if(!reg.test(str)){ 
alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! 
} 
} 
} 
//判断输入的数字不大于某个特定的数字 
function MaxValue() 
{ 
var val = document.getElementById('str').value.trim(); 
if(str.length!=0){ 
reg=/^[-+]?\d*$/; 
if(!reg.test(str)){//判断是否为数字类型 
if(val>parseInt('123')) //“123”为自己设定的最大值 
{ 
alert('对不起,您输入的数字超出范围');//请将“数字”改成你要验证的那个属性名称! 
} 
} 
} 
} 

Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/ 

Mobile : /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/ 

Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/ 

IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/ 

QQ : /^[1-9]\d{4,8}$/ 

某种特殊金额:/^((\d{1,3}(,\d{3})*)|(\d+))(\.\d{2})?$/ //说明:除“XXX XX,XXX XX,XXX.00”格式外

//为上面提供各个JS验证方法提供.trim()属性 

String.prototype.trim=function(){ 
return this.replace(/(^\s*)|(\s*$)/g, ""); 
}

调用:

<input type="text" name="str" >

<input type="button" value=" 确定 " onClick=""> //onClick中写自己要调用的JS验证函数

js 验证表单 js提交验证类

附加:js验证radio是否选择

<script language="javascript">
function checkform(obj)
{
for(i=0;i<obj.oo.length;i++)
 if(obj.oo[i].checked==true) return true;
alert("请选择")
return false; 
}
</script>
<form id="form1" name="form1" method="post" action="" onsubmit="return checkform(this)">
 <input type="radio" name="oo" value="radiobutton" />
 <input type="radio" name="oo" value="radiobutton" />
 <input type="submit" name="Submit" value="提交" />
</form>

以上内容是小编给大家介绍的js正则表达式的相关知识,希望对大家有所帮助!

更多精彩内容其他人还在看

深入分析正则表达式的子模式

在正则表达式中,可以使用“(”和“)”将模式中的子字符串括起来,以形成一个子模式。将子模式视为一个整体时,那么它就相当于一个单个字符。下面我们就来详细了解下子模式
收藏 0 赞 0 分享

可以少写1000行代码的正则表达式

正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。知道这20个正则表达式,能让你少写1000行代码,想知道吗
收藏 0 赞 0 分享

20个正则表达式必知(能让你少写1,000行代码)

这篇文章主要介绍了20个正则表达式必知(能让你少写1,000行代码)的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金) 两位小数

这篇文章主要介绍了JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金) 两位小数的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

java常用正则表达式

这篇文章主要介绍了java常用正则表达式,需要的朋友可以参考下
收藏 0 赞 0 分享

如何快速学习正则表达式

在日常工作中,我们经常写正则表达式,比如在表单中经常用来验证用户输入的格式是否正确。接下来通过本文给大家介绍如何快速学习正则表达式,感兴趣的小伙伴一起学习吧
收藏 0 赞 0 分享

运用正则表达式匹配所有表名

这篇文章主要介绍了运用正则表达式匹配所有表名 的相关资料,非常不错,具有参考借鉴价值,需要的朋友一起看看吧
收藏 0 赞 0 分享

浅析正则表达式-替换原则(.NET) 图文

最近经常用到替换的东西所以就出来整理下,这里要分享的是正则表达式里面的替换原则,首先要声明的是这里提及到的替换原则是.NET里面的正则表达式的替换原则
收藏 0 赞 0 分享

正则替换实现输入框只能有数字、中英文逗号

最近在开发过程中,需要一个输入框里面只能有数字与中英文逗号,因为是相关文章,其它的也不让出现,容易造成问题,编程容易把介绍复制到里面,所以想到了这个方法
收藏 0 赞 0 分享

自动检测数字替换非数字的正则表达式

这篇文章主要介绍了自动检测数字替换非数字的正则表达式 ,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多