文档章节

JavaScript的表单验证和java中正则表达式

青慕
 青慕
发布于 2017/08/11 18:44
字数 599
阅读 27
收藏 0

javascript表单验证:

1.长度限制

function test() 

if(document.a.b.value.length>50) 

alert("不能超过50个字符!"); 
document.a.b.focus(); 
return false; 

2.验证油箱格式

function isEmail(strEmail) { 
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) 
return true; 
else 
alert("oh"); 

3.两次输入密码是否相同 

function check() 

with(document.all){ 
if(input1.value!=input2.value) 

alert("false") 
input1.value = ""; 
input2.value = ""; 

else document.forms[0].submit(); 

4.表单项不能为空 

function  CheckForm() 
{  
if  (document.form.name.value.length  ==  0)  {  
alert("请输入您姓名!"); 
document.form.name.focus(); 
return  false; 

return  true; 

5.比较两个表单项的值是否相同 

function  CheckForm() 
if  (document.form.PWD.value  !=  document.form.PWD_Again.value)  {  
alert("您两次输入的密码不一样!请重新输入."); 
document.ADDUser.PWD.focus(); 
return  false; 

return  true; 

6.E-mail值检测

function  isMail(name)  
{  
if(!  isEnglish(name)) 
return  false; 
i  =  name.indexOf("  at  "); 
j  =  name  dot  lastIndexOf("  at  "); 
if(i  ==  -1) 
return  false; 
if(i  !=  j) 
return  false; 
if(i  ==  name  dot  length) 
return  false; 
return  true; 

 

一 :字符

x 字符 x。举例:'a'表示字符a
    \\ 反斜线字符。
    \n 新行(换行)符 ('\u000A') 
    \r 回车符 ('\u000D')

二:字符类

[abc] a、b 或 c(简单类) 
    [^abc] 任何字符,除了 a、b 或 c(否定) 
    [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围) 
    [0-9] 0到9的字符都包括

三:预定义字符类

. 任何字符。我的就是.字符本身,怎么表示呢? \.
    \d 数字:[0-9]
    \D 非数字:[^\d]/[^0-9]
    \w 单词字符:[a-zA-Z_0-9]
   \W 非字符[^\w]

四:变边界匹配器

^ 行的开头 
    $ 行的结尾 
    \b 单词边界, 就是不是单词字符的地方。

五:Greedy

X? X,一次或一次也没有
    X* X,零次或多次
    X+ X,一次或多次
    X{n} X,恰好 n 次 
    X{n,} X,至少 n 次 
    X{n,m} X,至少 n 次,但是不超过 m 次

 

常用正则表达式:

1. "^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" 

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  //email地址

2. "^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$" 

^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$    //url

3. /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/   //  年-月-日

4.  /^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/     //电话号码

5. /<(.*)>.*<\/\1>|<(.*) \/>/        //匹配HTML标记的正则表达式

6. (\d{3}-|\d{4}-)?(\d{8}|\d{7})?      //国内电话号码

7. ^[1-9]*[1-9][0-9]*$                //腾讯QQ号

8. /<(.*)>.*</1>|<(.*) />/         //HTML标记

 

这里只是我觉得重要的一些例子,更多的知识还需要我们自己更深入的学习,多看看别人写的博客,关注一些技术方面的变化

青慕
粉丝 4
博文 19
码字总数 8413
作品 0
贵阳
程序员
私信 提问
加载中
请先登录后再评论。

暂无文章

如何处理ASP.NET MVC Framework中的多个提交按钮?

问题: Is there some easy way to handle multiple submit buttons from the same form? 是否有一些简单的方法可以处理来自同一表单的多个提交按钮? Example: 例: <% Html.BeginForm("MyA......

技术盛宴
58分钟前
13
0
Android NDK 工具链的使用方法(Standalone Toolchain)

首先需要确定目标机器的指令集。 如果是 x86 的机器,用 x86-4.4.3 版本的工具链;如果是 arm 指令的,用 arm-linux-androideabi-4.4.3 版本 (x86-4.4.3 和 arm-linux-androideabi-4.4.3 位于...

shzwork
今天
29
0
给定两个目录树,如何找出哪些文件有所不同? - Given two directory trees, how can I find out which files differ?

问题: If I want find the differences between two directory trees, I usually just execute: 如果我想找到两个目录树之间的差异,我通常只执行: diff -r dir1/ dir2/ This outputs ex......

法国红酒甜
今天
17
0
互联网领域唯一一家!百度牵头“工业智能实验室”入选工业互联网产业联盟实验室首批名单

本文作者:y****n 6月30日,工业互联网产业联盟首批实验室名单公布,百度牵头申报的“工业智能实验室”成功入选,百度在工业互联网领域领先的技术实力获得业界认可。 工业互联网产业联盟(简...

百度开发者中心
昨天
13
0
jQuery Ajax文件上传 - jQuery Ajax File Upload

问题: Can I use the following jQuery code to perform file upload using POST method of an ajax request ? 我可以使用以下jQuery代码使用ajax请求的POST方法执行文件上传吗? $.ajax({......

javail
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部