<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript正则表达式RegExp</title>
</head>
<body>
<input type="text" name="user_name" id="user_name" onchange="checkData()" /><span style=" visibility:hidden" id="CheckSp"></span>
<script type="text/javascript" language="javascript">
//通用的正则
function checkData(){
var data= document.getElementById("user_name").value;
var gu =new RegExp("^\\w+[\\w.-]+@\\w\\.\\w{2,3}$");
var dataSp=document.getElementById("CheckSp");
if(gu.test(data))
{
dataSp.style.visibility="visible";
dataSp.innerHTML="输入正确".fontcolor("red");
}
else
{
dataSp.style.visibility="visible";
dataSp.innerHTML="输入错误".fontcolor("red");
}
}
</script>
<script type="text/javascript" language="javascript">
/* var gu=new RegExp("^a{3,6}$");//满足a的规则大于等于3 小于等于6
var data="a";
var dataOne="aaa";
document.write( gu.test(data) +"<br />");
document.write( gu.test(dataOne) +"<br />");
var gu=new RegExp("^a[\\w.]{3,6}$");//^a[\\w.]{3,6}$ 中括号中的.表示.
var gu=new RegExp("^\\w+[\\w.-]+@\\w\\.\\w{2,3}$");//邮箱的校验
*/
</script>
<script type="text/javascript" language="javascript">
/*
javascript的正则
*/
var gu=new RegExp(/^\d{6}/i);//数字出现6次
var number =123456;
document.write(gu.test(number));
var a="hello world ";
document.write( a.replace("l","L")+"<br/>");//正则匹配的时候只匹配了第一个 heLlo world
document.write( a.replace(/l/g,"L"));//这样就可以了 加了一个《g》表示全部匹配
</script>
</body>
</html>
<!----------
经常在程序开发的时候需要对用户输入的数据进行校验,使得用户输入的数据满足一定的规则。
规则就是正则表达式。
正则表达式:主要是定义某一类数值需要满足的特定的规则。
任何的语言的一般都有正则的使用需求,所以一般的语言正则语言 (所有语言的正则语法几乎相同)
RegExp:Regular Expression
* 表示0到多次
+ 1到多次
? 0到1次
. 表示任意字符
[a-zA-Z] 表示a到zA到Z(表示范围)
{} 表示个数
\d 表示0-9 表示数字
\w 表示[0-9A-Za-z]
javascript中的正则:
1.支持java的正则表达式
可以使用其他语言中的语法,但是前提是必须使用"" 且使用^ 开头 $ 结尾
2.javascript特有的正则表达式
语法 : /正则语言/正则模式
里面的如\d 中的\不需要转译
var gu=new RegExp(/^\d{6}/i)
正则模式:
g 全局模式
i 忽略大小写模式
-------->