惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
WordPress大学
WordPress大学
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
I
InfoQ
小众软件
小众软件
Recent Announcements
Recent Announcements
博客园 - 【当耐特】
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
美团技术团队
T
The Blog of Author Tim Ferriss
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog
V
V2EX
J
Java Code Geeks
有赞技术团队
有赞技术团队
博客园 - 聂微东
B
Blog RSS Feed
博客园 - 司徒正美

博客园 - patrickwai

java enum用法 Java中哈希表(Hashtable)是如何实现的 注意for循环中变量的作用域 用SAX Parser(Simple API for XML)分析RSS android权限 【转】分治法求最大值最小值 JPA实体关系映射 JPA基本实体映射学习 Servlet实现基本文件上传 Servlet学习(一) java题目分析 java中的synchronized Spring学习——依赖注入 Spring学习——Hello World xml,javascript,XMLHttpRequest 学习笔记 向依赖关系宣战——依赖倒置、控制反转和依赖注入辨析[转载] MySql存储过程学习 自己用C语言写的扫雷算法 移位运算实际应用——判断整数N是否为2的阶次方
用javascript与正则表达式验证表单 - patrickwai - 博客园
patrickwai · 2010-06-24 · via 博客园 - patrickwai

javascript中的正则表达式对象regExp。

创建regExp对象语法

new regExp(pattern,attributes);

直接量语法

/pattern/attributes

也可以是

new regExp(/pattern/attributes)

注意:如果用new regExp(pattern,attributes)创建对象pattern作为一个字符串需要加引号"";如果用直接量语法,在语句中不需要加引号。

regExp对象方法:

compile() 编译正则表达式 返回一个编译了的regExp对象

exec()   检索字符串中指定的值。并返回字符串数组。

test() 检索字符串中指定的值,并返回true或false。

支持正则表达式的string对象的方法

search() 检索与正则表达式匹配的字符串

match() 检索与正则表达式匹配的一个和多个字符串

replace() 用指定的字符串替代与正则表达式匹配的字符串

split() 把字符串分割为字符串数组

实现表单验证

表单代码

<form id="form" action="">
<table>
<tr><td>Name<span id="namespan"></span></td></tr>
<tr><td><input type="text" id="name" name="name" onBlur="valName()"/></td></tr>
<tr><td>Age<span id="agespan"></span></td></tr>
<tr><td><input type="text" id="age" name="age" onBlur="valAge()"/></td></tr>
<tr><td>Birthday<span id="birthdayspan"></span></td></tr>
<tr><td><input type="text" id="birthday" name="birthday"/></td></tr>
<tr><td>Email<span id="emailspan"></span></td></tr>
<tr><td><input type="text" id="email" name="email"/></td></tr>
<tr><td>Sex<span id="sexspan"></span></td></tr>
<tr><td><input type="radio" id="sex" name="sex" value="Male" checked="checked"/>Male
<input type="radio" id="sex" name="sex" value="Female"/>Female</td></tr>
</table>
</form>

javascript代码

function valName(){
var pattern = new RegExp("^[a-z]([a-z0-9])*[-_]?([a-z0-9]+)$","i");
var str1=document.getElementById("name").value;
if(str1.length>=8){
if(pattern.test(str1)){
//alert("OK");
document.getElementById("namespan").innerHTML="";
return true;
}
else{
document.getElementById(
"namespan").innerHTML="<span class='note'>用户名至少需要8个字符,必须以字母开头,以字母或数字结尾,可以有-和_</span>";
return false;
}
}
else{
document.getElementById(
"namespan").innerHTML="<span class='note'>用户名至少需要8个字符,必须以字母开头,以字母或数字结尾,可以有-和_</span>";
return false;
}
}
function valAge(){
var str = document.getElementById("age").value;
var pattern=/\b\d\d{0,1}\b/g;
if(str.match(pattern)==null){
document.getElementById(
"agespan").innerHTML="<span class='note'>Age range is 0-99</span>";
return false;
}
else{
document.getElementById(
"agespan").innerHTML="";
return true;
}
}

网页显示效果