html-day06

  1. 常用的表单验证有:
    1. 身份证号码
    2. E-mail地址
    3. 用户名和密码
    4. 表单元素是否为空
    5. 日期格式
  2. 表单选择器

:input

匹配所有input、textarea、select和button 元素

基本写法:$("表单的类选择器的值或者id值  :input");

例如:

匹配所有单项按钮

$("#myform  :radio")选取<input type="radio" />元素

属性过滤选择器

:enabled

匹配所有可用元素

$(" #userform :enabled" )匹配form内部除编号输入框外的所有元素

:disabled

匹配所有不可用元素

$(" #userform :disabled" )匹配编号输入框

:checked

匹配所有被选中元素(复选框、单项按钮、select 中的option)

$(" #userform :checked" )匹配所有已经被选中的复选框的选项

:selected

匹配所有选中的option 元素

$(" #userform :selected" ) 匹配“家乡”中的“北京”选项

3.表单验证事件和方法

事件

onblur:失去焦点,当光标离开某个文本框时触发

onfocus:获得焦点,当光标进入某个文本框时触发

将οnblur=“函数名(参数)”写在input标签中,然后通过编写相关函数内容来实现某种功能。

例如:

方法

blur() 从文本域中移开焦点

focus() 在文本域中设置焦点,即获得鼠标光标

select() 选取文本域中的内容,突出显示输入区域的内容

 

4.正则表达式

  • 简单模式

只能表示具体的匹配

示例:

var reg=/china/;

var reg=/abc8/;

  • 复合模式

可以使用通配符表达更为抽象的规则模式

示例:

var reg=/^\w+$/;

var reg=/^\w+@\w+\.((com)|(cn)|(com.cn))$/;

                     jkjp@qq.com      jkjkp2000@163.com.cn   jkjkp@sina.cn

                  \w+  --》匹配 jkjkp

   

 

  • 正则表达式/^\w?/ 未使用$符号结束 和有$区别

       $代表以该正则表达式结尾的字符串例如

       abc$只匹配123abc,rtyabc

       如果只是abc的话,那么123abc456,rtfabcfgh都可以匹配

       加了^ 表示^后面的第一位字符必须匹配的字符串首位相同,不加的话任意顺序匹配。

 

      var reg=/abc/;

alert(reg.test("dcabca")); true

      var reg=/^abc/;

alert(reg.test("dcabca")); false

      var reg=/^abc/;

alert(reg.test("abcseda")); true

      var reg=/^abc$/;

alert(reg.test("abcseda")); false

 

 

  • 正则表达式符号

/…/ 代表一个模式的开始和结束

^ 匹配字符串的开始

$ 匹配字符串的结束

\s 任何空白字符

\S 任何非空白字符

\d 匹配一个数字字符,等价于[0-9]

\D 除了数字之外的任何字符,等价于[^0-9]

\w 匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_]

\W 任何非单字字符,等价于[^a-zA-z0-9_]

. 除了换行符之外的任意字符

{n,} 匹配前一项n次,或者多次

{n,m} 匹配前一项至少n次,但是不能超过m次

* 匹配前一项0次或多次,等价于{0,}

+ 匹配前一项1次或多次,等价于{1,}

? 匹配前一项0次或1次,也就是说前一项是可选的,等价于{0,1}

根据以上相关符号的含义,可以写出相应的正则表达式

  • 正则表达式的常见应用

用户名、密码、电子邮箱、手机号码、身份证号码、生日、固定电话

 

  • 常见正则

用户名:/^[a-zA-Z0-9_-]{3,16}$/

 

密码:/^[a-z0-9_-]{6,18}$/

 

年 19**|200*|201*   月 01~09|1* 日 1~9|10~29|30|31      2012-09-12   0?[1-9]

1998-08-13

出生日期:/^((19\d{2})|(200\d)|(201[0-6]))-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/

      

电子邮箱:/^([a-z0-9_\.-]+)@([\da-z-]+)\.((com)|(cn)|(com.cn))$/

          /^\w+@\w+\.((com)|(cn)|(com.cn))$/

            jk@yahoo.com.cn

匹配国内电话号码:(\d{3}-\d{8})|(\d{4}-\d{7})

评注:匹配形式如 0511-4405222 或 021-87888822

 

匹配身份证:\d{15}|\d{18}  

评注:中国大陆的身份证为15位或18位   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值