知识点:

先生成一个正则规则的对象,使用test()对传入的字符串进行验证,返回布尔类型

代码:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>JS常用正则表达式</title>
</head>
<body>
<pre>
姓 名:<input id="name" onblur="regname()"> <span id="ts2"></span>
身份证号:<input id="sfz" onblur="regsfz()"> <span id="ts3"></span>
手 机 号:<input id="cellphone" onblur="regcellphone()"> <span id="ts4"></span>
邮箱地址:<input id="email" onblur="regemail()"> <span id="ts5"></span>
密 码:<input type="password" id="password" onblur="regpassword()"> <span id="ts6"></span>
提 示:<span id="ts" style="color:orange;">请正确填写表单</span>
</pre>
</body>
</html>
<script>
var ts = document.getElementById("ts");
var ts2 = document.getElementById("ts2");
var ts3 = document.getElementById("ts3");
var ts4 = document.getElementById("ts4");
var ts5 = document.getElementById("ts5");
var ts6 = document.getElementById("ts6");
//检测姓名
function regname(){

var name = document.getElementById("name").value;
var regname = /^[\u4E00-\u9FA5]+$/;
if(name == "" || name == null){

ts.innerHTML = "姓名栏未输入任何内容";
ts.style = "color:red";
ts2.innerHTML = "错误";
ts2.style = "color:red";
//这种写法实际上是对象赋值,因为JS读取变量ts时ts只是一个标签,JS会将其生成一个对象来描述
}else if(!regname.test(name)){
ts.innerHTML = "姓名框内必须输入汉字";
ts.style = "color:red";
ts2.innerHTML = "错误";
ts2.style = "color:red";
}else{
ts.innerHTML = "姓名输入正确";
ts.style = "color:green";
ts2.innerHTML = "正确";
ts2.style = "color:green";
}
}
function regsfz(){

var sfz = document.getElementById("sfz").value;
var regsfz = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; ;
if(sfz == "" || sfz == null){

ts.innerHTML = "身份证栏未输入任何内容";
ts.style = "color:red";
ts3.innerHTML = "错误";
ts3.style = "color:red";
//这种写法实际上是对象赋值,因为JS读取变量ts时ts只是一个标签,JS会将其生成一个对象来描述
}else if(!regsfz.test(sfz)){
ts.innerHTML = "必须输入正确是身份证";
ts.style = "color:red";
ts3.innerHTML = "错误";
ts3.style = "color:red";
}else{
ts.innerHTML = "身份证输入正确";
ts.style = "color:green";
ts3.innerHTML = "正确";
ts3.style = "color:green";
}
}

function regcellphone(){

var cellphone = document.getElementById("cellphone").value;
var regcellphone = /^(1[3-5][0-9]{9})|(15[89][0-9]{8})$/ ;
if(cellphone == "" || cellphone == null){

ts.innerHTML = "手机栏未输入任何内容";
ts.style = "color:red";
ts4.innerHTML = "错误";
ts4.style = "color:red";
//这种写法实际上是对象赋值,因为JS读取变量ts时ts只是一个标签,JS会将其生成一个对象来描述
}else if(!regcellphone.test(cellphone)){
ts.innerHTML = "必须输入正确的手机号";
ts.style = "color:red";
ts4.innerHTML = "错误";
ts4.style = "color:red";
}else{
ts.innerHTML = "手机号输入正确";
ts.style = "color:green";
ts4.innerHTML = "正确";
ts4.style = "color:green";
}
}
function regemail(){

var email = document.getElementById("email").value;
var regemail = /\w@\w*\.\w/;
if(email == "" || email == null){

ts.innerHTML = "邮件号栏未输入任何内容";
ts.style = "color:red";
ts5.innerHTML = "错误";
ts5.style = "color:red";
//这种写法实际上是对象赋值,因为JS读取变量ts时ts只是一个标签,JS会将其生成一个对象来描述
}else if(!regemail.test(email)){
ts.innerHTML = "必须输入正确的邮箱";
ts.style = "color:red";
ts5.innerHTML = "错误";
ts5.style = "color:red";
}else{
ts.innerHTML = "邮箱输入正确";
ts.style = "color:green";
ts5.innerHTML = "正确";
ts5.style = "color:green";
}
}
function regpassword(){

var password = document.getElementById("password").value;
var regpassword = /^[a-zA-Z\d_]{8,}$/ ;
if(password == "" || password == null){

ts.innerHTML = "密码栏未输入任何内容";
ts.style = "color:red";
ts6.innerHTML = "错误";
ts6.style = "color:red";
//这种写法实际上是对象赋值,因为JS读取变量ts时ts只是一个标签,JS会将其生成一个对象来描述
}else if(!regpassword.test(password)){
ts.innerHTML = "必须输入不得少于八位数字或字母组成密码";
ts.style = "color:red";
ts6.innerHTML = "错误";
ts6.style = "color:red";
}else{
ts.innerHTML = "密码输入符合要求";
ts.style = "color:green";
ts6.innerHTML = "正确";
ts6.style = "color:green";
}
}
//常用JS正则表达式:http://www.cnblogs.com/hai-ping/articles/2997538.html
</script>

效果图:

JS正则表达式 简单应用的更多相关文章

  1. JS正则表达式简单总结

    正则表达式定义 JavaScript中的正则表达式用RegExp 对象表示,可以使用RegExp ()构造函数来创建RegExp对象,不过RegExp 对象更多的是通过一种特殊的直接量愈发来创建. 例 ...

  2. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

  3. Python之路-(js正则表达式、前端页面的模板套用、Django基础)

    js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  4. JS正则表达式大全

    转自:http://wenku.baidu.com/link?url=3y930kC7F6D3wQdMjQ3fVDmiA9Wfebs_QK0UB3N3mFaEoKg4ytZORPopxufeYA6si ...

  5. js正则表达式replace里有变量的解决方法用到RegExp类

    一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...

  6. js正则表达式入门

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  7. C# 使用js正则表达式,让文本框只能输入数字和字母,最大长度5位

    使用js正则表达式,让文本框只能输入数字和字母,最大长度5位,只需要加个onkeyup事件,即可简单实现 <asp:TextBox ID="txtBegin" runat=& ...

  8. JS 正则表达式用法

    JS 正则表达式用法简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下: 测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或 ...

  9. 【正则】精通JS正则表达式,没消化 信息量太大,好文

    http://www.jb51.net/article/25313.htm 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用 ...

随机推荐

  1. data-ng-init 指令

    1.data-ng-init指令为AngularJS应用程序定义了一个初始值. 2.通常情况下,data-ng-init指令并不常用,将会使用控制器或模块来代替它.

  2. Delphi的Edit控件中只能输入数字且只能输入一个小数点

    使用这种功能必须使用 OnKeyPress 事件,该事件是在窗体中获得键盘输入的焦点,并且在用户按键时发生.OnKeyPress 事件中有个重要参数:Key.Key 参数为Char 型,它能够获得用户 ...

  3. 一张思维导图带你梳理HashMap相关知识

    HashMap可以说是java中最常见也是最重要的key-value存储结构类,很多程序员可能经常用,但是不一定清楚这个类背后的数据结构和相关操作原理,为了复习HashMap相关的知识,今天花了一天的 ...

  4. datatable中reload和load的区别

    ajax.reload()用于datatable表某个数据的变化而重新加载 ajax.url(url).load() 用于切换url时,datatable重新获取数据,加载.

  5. 汇编:输出寄存器AX中的内容(子程序)

    ;输出寄存器AX中的内容(子程序) DATAS segment DATAS ends CODES segment START: mov AX,DATAS mov DS,AX ;正式代码开始 mov A ...

  6. 有一段<script>代码,效果是点击<p>就会弹出信息,但是有的<p>点击会有效果,有的没有效果

    问题:有一段<script>代码,效果是点击<p>就会弹出信息,但是有的<p>点击会有效果,有的没有效果 解决: 页面代码是至上而下执行的,如果你的这个标签在< ...

  7. Form表单提交,js验证

    Form表单提交,js验证 1,  Onclick() 2, Onsubmit() Button标签 input (属性 submit  button )标签 Input type=button    ...

  8. #Python编程从入门到实践#第二章笔记

      ​​​1.变量 (1)变量名只能包含字母.数字和下划线,不能包含空格 (2)不要将python关键字与函数名作为变量名 (3)简短有描述性,避免使用小写字母l和大写字母O (4)python 始终 ...

  9. VUE前端无法启动

    cd 到client中,使用npm run dev ,一直卡着也不报错,启动不了项目 可以直接使用 ,需要进入root目录进行 cnpm install npm -g

  10. 購買管理(MM)

    ■購買管理■ [購買伝票]EKKO: ヘッダ EKPO: 明細 EKET: 納入日程行 EKPA: 取引先機能 EKKN: 勘定設定 EKBE: 後続伝票 EKBEH: 削除済み後続伝票履歴 [請求書 ...