form>
(1). 非空验证(无空格)
(2). 比较验证(与值比较)
(3). 范围验证(基于范围的判断)
(4). 固定格式验证: 验证电话号码,ID号,邮箱,号等;需要使用正则表达式进行验证.
(5). 其他验证
2. 正则表达式
使用符号描述书写规则: /在中间写正则表达式/
^: 开头匹配,$: 结尾匹配; / ^ ve / / ve $ /以ve / ve开头ve
\ d: 任意数字
\ w: 任意数字或字母
\ s: 任意字符串
{n}: 在左侧重复表达n次
{m,n}: 在左侧重复该表达式至少m次,最多n次
{m,}: 在左侧重复表达式至少m次,没有限制
+: 左侧的表达式至少出现一次,最多无限制,等于{1,}
*: 左侧的表达式至少出现0次,最多出现无限次数,等于{0,}
?: 左侧的表达式至少出现0次,最多出现1次,相当于{0,1}
[a,b,c]: 只能带一个内容放在方括号中
[a-z]或[1-9]: 选择一个范围
|: 代表或; (): 优先; \: 转义-“ \(\)”是需要出现的括号,需要转义
3. 活动
事件包含三个元素: 事件源,事件数据和事件处理程序
您可以添加return false;这是为了防止默认操作
onclick: 鼠标单击触发器
ondblclick: 双击触发器
鼠标悬停: 在鼠标移动时触发
onmouseout: 鼠标移开时触发
onmousemove: 当鼠标移到鼠标上方时触发
onchange: 每当内容更改时触发
onblur: 失去焦点时触发
onfocus: 在获得焦点时触发
onkeydown: 按下键时触发
onkeyup: 提起按键时触发
onkeypress: 当用户按下并释放任何字母数字键时发生此事件. 但是,无法识别系统按钮(例如: 箭头键,功能键).
示例: 根据正则表达式验证电子邮件
function checkemail()
{
var v4 = trim(u4.value);
var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if(v4.match(reg) != null)
{
imgs4.setAttribute("src","imges/1.png");
return true;
}
else
{
imgs4.setAttribute("src","imges/2.png");
return false;
}
}
正则表达式补充:
创建正则表达式的方法:
var patten= new RegExp(/^[0-9]{17}[0-9|X]$/);/*
RegExp()括号里面的式子需要自己定义:
1、[]里面只有一个元素
2、()里面可以写一个单词或者式子
3、{}里面表示数量
4、^:以某个元素开头,写在元素前面
5、$:以某个元素结束,写在元素后面*/
示例:
1. 正则表达式验证:
ID:
/ * javascript部分* /
var a= document.getElementById("1").value;
var patten= new RegExp(/^[0-9]{17}[0-9|X]$/);
if(patten.test(a))
{
alert("输入正确");
}
else
{
alert("输入错误");
}
2. 正则表达式验证电子邮件:
电子邮件:
function mail()
{
var patten2= new RegExp(/^[0-9|A-z|_]{1,17}[@][0-9|A-z]{1,3}.(com)$/)
var mail = document.getElementById("2").value;
if(patten2.test(mail))
{
alert("输入正确");
}
else
{
alert("输入错误");
}
}
常用的正则表达式:
匹配国内电话号码: d {3} -d {8} | d {4} -d {7}
评论: 匹配表格,如0511-4405222或021-87888822
匹配腾讯QQ号: [1-9] [0-9] {4,}
评论: 腾讯QQ号码从10000开始
匹配中国邮政编码: [1-9] d {5}(?! d)
评论: 中国的邮政编码是6位数字
比赛ID: d {15} | d {18}
评论: 中国的有15或18位数字
匹配的IP地址: d + .d + .d + .d +
注释: 在提取IP地址时很有用
匹配特定号码:
^ [1-9] d * $ //匹配一个正整数
^-[1-9] d * $ //匹配负整数
^-?[1-9] d * $ //匹配整数
^ [1-9] d * | 0 $ //匹配非负整数(正整数+ 0)
^-[1-9] d * | 0 $ //匹配非正整数(负整数+ 0)
^ [1-9] d * .d * | 0.d * [1-9] d * $ //匹配正浮点数
^-([1-9] d * .d * | 0.d * [1-9] d *)$ //匹配负浮点数
^-?([1-9] d * .d * | 0.d * [1-9] d * | 0?.0+ | 0)$ //匹配浮点数
^ [1-9] d * .d * | 0.d * [1-9] d * | 0?.0+ | 0 $ //匹配非负浮点数(正浮点数+ 0)<
^(-([[1-9] d * .d * | 0.d * [1-9] d *))| 0?.0+ | 0 $ //匹配非正浮点数(负float)点+ 0)
注释: 在处理大量数据时很有用,并注意特定应用程序中的校正
匹配特定的字符串:
^ [A-Za-z] + $ //匹配26个英文字母的字符串
^ [A-Z] + $ //匹配由26个大写英文字母组成的字符串
^ [a-z] + $ //匹配由26个小写英文字母组成的字符串
^ [A-Za-z0-9] + $ //匹配由数字和26个英文字母组成的字符串
^ w + $ //匹配由数字表单验证号码的正则表达式,26个英文字母或下划线组成的字符串
使用RegularExpressionValidator验证控件时的验证函数和验证表达式介绍如下:
仅输入数字: “ ^ [0-9] * $”
只能输入n位数字: “ ^ d {n} $”
仅输入至少n位数字: “ ^ d {n,} $”
只能输入m-n个数字: “ ^ d {m,n} $”
只能输入零和非零数字: “ ^(0 | [1-9] [0-9] *)$”
仅输入带两位小数的正实数: “ ^ [0-9] +(. [0-9] {2})?$”
只能输入带有1-3个小数位的正实数: “ ^ [0-9] +(. [0-9] {1,3})?$”
仅输入非零正整数: “ ^ +?[1-9] [0-9] * $”
仅输入非零的负整数: “ ^-[1-9] [0-9] * $”
仅长度为3的字符: “ ^. {3} $”
只能输入26个英文字母的字符串: “ ^ [A-Za-z] + $”
只能输入26个大写英文字母的字符串: “ ^ [A-Z] + $”
只能输入26个小写英文字母的字符串: “ ^ [a-z] + $”
仅输入由数字和26个英文字母组成的字符串: “ ^ [A-Za-z0-9] + $”
仅输入由数字,26个英文字母或下划线组成的字符串: “ ^ w + $”
验证用户密码: “ ^ [a-zA-Z] w {5,17} $”正确的格式为: 以字母开头,长度在6-18之间,
仅包含字符,数字和下划线.
验证它是否包含诸如^%&'',; == $$ ::“ [^%&'',; =?$ x22] +”
仅输入汉字: “ ^ [u4e00-u9fa5],{0,} $”
验证电子邮件地址: “ ^ w + [-+. ] w +)* @ w +([-. ] w +)*. w +([-. ] w +)* $”
验证InternetURL: “ ^([w-] +. )+ [w-] +(/ [w -./?%&=]*)?$"
验证电话号码: “ ^((d {3,4})| d {3,4}-)?d {7,8} $”
正确的格式为: “ XXXX-XXXXXXX”,“ XXXX-XXXXXXXX”,“ XXX-XXXXXXX”,
“ XXX-XXXXXXXX”,“ XXXXXXX”,“ XXXXXXXX”.
验证ID号(15或18位数字): “ ^ d {15} | d {} 18 $”
验证一年中的12个月: “ ^(0?[1-9] | 1 [0-2])$”正确的格式为: “ 01”-“ 09”和“ 1”“ 12” <
验证一个月的31天: “ ^((0?[1-9])|((1 | 2)[0-9])| 30 | 31)$”
正确的格式为: “ 01”,“ 09”和“ 1”表单验证号码的正则表达式,“ 31”.
与汉字匹配的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字): [^ x00-xff]
正则表达式匹配空白行: n [s | ] * r
匹配HTML标签的正则表达式: /.*| /
与第一个和最后一个空格匹配的正则表达式: (^ s *)|(s * $)
正则表达式匹配的电子邮件地址: w +([-+. ] w +)* @ w +([-. ] w +)*. w +([-. w +)*
正则表达式以匹配URL URL: ([w-] +. )+ [w-] +(/ [w- ./?%&=]*)?
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-277798-1.html