javascript正则表达式学习笔记

本文介绍了一种使用JavaScript实现的正则表达式验证方法,包括电子邮件地址、数字及日期格式的有效性验证。此外,还展示了如何通过正则表达式进行字符串匹配、替换和拆分等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script>
function checkEmail()
{
 
var email=document.formAdmin.email.value;
 
var pattern=/([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/
 
if(pattern.test(email))
 
{
  alert(
"right pattern");
 }

 
else
 
{
  alert(
"invalid pattern");
 }

 
return false
}


function checkNumber()
{
 
var pattern=/[^0-9]/
 
var testString = document.formAdmin.number.value;
 
if(pattern.test(testString)) 
 
{
  alert(
"invalid pattern");
 }

 
else
 
{
  alert(
"right pattern");
 }

}


function isBlank() {
 
var input=document.getElementById("blankName").value;
 
if(input==" "||input==" "|| input==""
 
{
  alert(
"is blank ,pleasse choose");
 }

 
return false;
}

window.onload 
= function() 
{
 
//testRegExp();
 //testMetaData();
 //preDefineClass();
 alert(testDate("20/1/2004"));
}

function testMetaData()
{
 
var sToMatch = "a bat ,a Cat,a fAt baT,a faT cat";
 
//var reBat = /[bcf]at/gi;
 //var reBat = /[bcf]at/gi;
 var reBat = /[^bc]at/gi;
 
var arrMatches = sToMatch.match(reBat);
 
for(var i=0;i<arrMatches.length;i++)
 
{
  alert(arrMatches[i]);
 }

 
var sToMatch1 = "num1,num2,num3,num4,num5,num6,num7,num8,num9";
 
var reOneToFour = /num[^1-4]/gi;
 
var arrMatches = sToMatch1.match(reOneToFour);
 
for(var i=0;i<arrMatches.length;i++)
 
{
  alert(arrMatches[i]);
 }

}

function preDefineClass()
{
 
var sToMatch ="5657323abc";
 
//var reThreeData = /[a-z]][0-9][0-9][0-9][a-z]/;
 var reThreeData = /ddd/;
 
var reThreeNoEnter = /.../;
 
var reBlank = /sss/;
 
var reLetter = /www/;
 alert(reThreeData.test(sToMatch));
}

function quantifier()
{
 
/*
 ?:出现零次与一次
 *:出现零次与多次
 +:出现一次或多次
 {n}:一定出现n次
 {n,m}:至少出现n次但不超过m次
 {n,}:至少出现n次
 
*/

}

function testDate(sText)
{
 
/*
  判断日月年的正则表达式
 
*/

 
var reDay = /0[1-9]|[12][0-9]|3[01]/;
 
var reMonth =/0[1-9]|1[0-2]/;
 
var reYear = /19|20d{2}/;
 
var reDate = /(?:0[1-9]|[12][0-9]|3[01])/(?:0?[1-9]|1[0-2])/(?:19|20d{2})/;
 
return reDate.test(sText);
}

function testRegExp()
{
 
//var reCat = new RegExp("cat");
 //var allReCat = new RegExp("cat","g");
 //var iAllReCat = new RegExp("cat","gi");
 var reCat = /cat/gi;
 
var cat ="cat";
 alert(reCat.test(cat));
 
var sToMatch = "a bat ,a Cat,a fAt baT,a faT cat";
 
var reAt =/at/gi;
 
var arrMatches = reAt.exec(sToMatch);
 
//var arrMatches = reAt.match(sToMatch);
 alert(arrMatches.length);
 
for(var i=0;i<arrMatches.length;i++)
 
{
  alert(arrMatches[i]);
 }

 
var reg = /blue/g;
 
var blueString ="blue sky is very blue,blue day to me";
 alert(blueString.replace(reg,
"red"));
 
var sColor = "red,yellow,blue,green";
 
/*
 var arrColors = sColor.split(",");
 for(var j =0;j<arrColors.length;j++)
 {
  alert(arrColors[j]);
 }
 
*/

 
var reColor = /,/;
 
var arrColors = sColor.split(reColor);
 
for(var j =0;j<arrColors.length;j++)
 
{
  alert(arrColors[j]);
 }

}

</script>
</HEAD>

<BODY>
<form action="" id="formAdmin" name="formAdmin">
<input type="text" name="email" id="email" onchange="checkEmail()"/>
<input type="text" name="number" id="number" onchange="checkNumber()"/>
<input type="text" name="blankName" id="blankName" onchange="isBlank()"/>
</form>

</BODY>
</HTML>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值