正则表达式:是一个字符一个字符的验证,通过量词验证字符串;

1、什么是RegExp?RegExp是正则表达式的缩写。RegExp 对象用于规定在文本中检索的内容。

2、定义RegExp:var +变量名=new RegExp();

3、RegExp 对象有 3 个方法:

1)test()检索字符串中的指定值,返回值是true或false.

var p1=new Reg("e");

document.write(Reg.test("welcome to China!"));

2)exec()

var p1=new Reg("e");

document.write(Reg.exec("welcome to China!"));

3) compile()

var p1=new Reg("e");

document.write(Reg.compile("welcome to China!"));

4、修饰符

1)i  执行对大小写不敏感的匹配

2)g 执行全局匹配

3)m 执行多行匹配

5、方括号(用于查找某个范围内的字符)

1)[abc]  查找方括号之间的任何字符

2)[^abc] 查找任何不在方括号之间的字符

3)[0-9]  查找任何0-9之间的数字

4)[a-z] 查找任何小写a-z之间的字符

5)[A-Z]查找任何大写A-Z之间的字符

6)[A-z] 查找任何大写A-小写z之间的字符

7)[adgk] 查找给定集合内的任何字符

8)[^adgk]查找给定集合外的任何字符

9)(red|biue|green)查找任何给定的选项

6、元字符

1)\w:查找单词字符

2)\W:查找非单词字符

3)\d:查找数字

4)\D:查找非数字字符

7、 量词

n+匹配任何包含至少一个 n 的字符串。

n*匹配任何包含零个或多个 n 的字符串。

n?匹配任何包含零个或一个 n 的字符串。

n{X}匹配包含 X 个 n 的序列的字符串。

n{X,Y}匹配包含 X 或 Y 个 n 的序列的字符串。

n{X,}匹配包含至少 X 个 n 的序列的字符串。

n$匹配任何结尾为 n 的字符串。

^n匹配任何开头为 n 的字符串。

?=n匹配任何其后紧接指定字符串 n 的字符串。

?!n匹配任何其后没有紧接指定字符串 n 的字符串。

【练习题1】判断输入身份证格式是否正确

<body>
<label>请输入身份证号:</label>
<input name="" type="text" id="shenfen"/>
<input name="" type="submit" id="textfi" value="提交1" onclick="test()"/><!--提交按钮,触发函数-->

</body>

</html>
<!--判断身份证是否输入正确-->

 <script>
function test()
{
var reg=new RegExp(/^[-]{}[-|X]$/);<!--正则表达式的格式:以/^开头,以$/结尾,数字、字母范围用中括号-->
var text=document.getElementById("shenfen").value;<!--输入文本框的字符串的id跟文本框的id对应-->
//判断地区是否合法(用if...else)
if(reg.test(text))
{
alert("输入正确")
}
else
{
alert("输入错误");
}
}
</script>

验证身份证输入是否正确

效果图:

【练习题2】判断输入的邮箱格式是否正确

 <body>

 <label>请输入您的邮箱:</label>
<input name="" type="text" id="youxiang"/>
<input name="" type="submit" value="提交2" onclick="y()" /> </body>
</html> <script>
function y()
{
var yx=new RegExp(/^[-|A-z|_]{,}@[A-z|-]{,}.(com|cn|net|org|cc)$/);
var shuru=document.getElementById("youxiang").value; <!--定义变量,调用的是整个function,,必须把变量写在function内-->
if(yx.test(shuru))<!--test正则表达式的方法-->
{
alert("zhengque");
}
else
{
alert("cuowu");
}
} </script>

验证邮箱格式是否正确

效果图:

最新文章

  1. iOS图表库Charts集成与使用
  2. MVVM中数据验证之 ViewModel vs. Model
  3. Revert R12.1.3 Homepage Layout to Link Style as in R12.1.1 or 11i
  4. 2034-人见人爱A-B(c++实现)
  5. Java 注释说明
  6. NOIP2012借教室[线段树|离线 差分 二分答案]
  7. ResultSet转成java类对象
  8. HW--漂亮度
  9. Firefly 性能测试 报告
  10. Grandpa&#39;s Estate - POJ 1228(稳定凸包)
  11. KPI考核
  12. JS中的RegExp对象常用属性和方法
  13. mobilize扁平化的fullPage.js类工具使用心得
  14. IIS充当代理转发请求到Kestrel
  15. 手工搭建基于ABP的框架(2) - 访问数据库
  16. P1132 数字生成游戏
  17. 学号:201621123032 《Java程序设计》第3周学习总结
  18. [svc]对称加密/非对称加密细枝末节-如何做到数据传输的authentication/data integrity/confidentiality(私密)
  19. 蚂蚁金服研发的金融级分布式中间件SOFA背后的故事
  20. MySql导出sql语句

热门文章

  1. 分布式技术 webservice
  2. react列表中,当key改变后发生的事情
  3. Codeforces Round #304 (Div. 2) D. Soldier and Number Game 素数打表+质因数分解
  4. 刻录DVD.XP系统盘(U盘)
  5. CentOS 7.3 关闭默认防火墙&amp;远程登录
  6. 程序员怎样迈出从5K到1W的重要一步
  7. LightOJ - 1027 数学期望
  8. hdu 2087 kmp
  9. uva 10168 哥德巴赫猜想
  10. 如果看看机器ip和域名ip