正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。

正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式"ab*"如果用于查找"abbbc",将找到"abbb"。而如果使用非贪婪的数量词"ab*?",将找到"a"。

1. 长度限制
<script>
function test()
{
if(document.a.b.value.length>50)
{
alert("不能超过50个字符!");
document.a.b.focus();
return false;
}
}
</script>
<form name=a οnsubmit="return test()">
<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>
<input type="submit" name="Submit" value="check">
</form>

2. 只能是汉字
<input οnkeyup="value="/oblog/value.replace(/[^\u4E00-\u9FA5]/g,'')">

3." 只能是英文
<script language=javascript>
function onlyEng()
{
if(!(event.keyCode>=65&&event.keyCode<=90))
event.returnvalue=false;
}
</script>

<input οnkeydοwn="onlyEng();">

4. 只能是数字
<script language=javascript>
function onlyNum()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
//考虑小键盘上的数字键
event.returnvalue=false;
}
</script>

<input οnkeydοwn="onlyNum();">

5. 只能是英文字符和数字
<input οnkeyup="value="/oblog/value.replace(/[\W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">

6. 验证油箱格式
<SCRIPT LANGUAGE=javascript RUNAT=Server>
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");
}
</SCRIPT>
<input type=text οnblur=isEmail(this.value)>

7. 屏蔽关键字(这里屏蔽***和****)
<script language="javascript1.2">
function test() {
if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){
alert("");
a.b.focus();
return false;}
}
</script>
<form name=a οnsubmit="return test()">
<input type=text name=b>
<input type="submit" name="Submit" value="check">
</form>

8. 两次输入密码是否相同
<FORM METHOD=POST ACTION="">
<input type="password" id="input1">
<input type="password" id="input2">
<input type="button" value="test" οnclick="check()">
</FORM>
<script>
function check()
{
with(document.all){
if(input1.value!=input2.value)
{
alert("false")
input1.value = "";
input2.value = "";
}
else document.forms[0].submit();
}
}
</script>
够了吧
屏蔽右键 很酷
οncοntextmenu="return false" οndragstart="return false" onselectstart="return false"
加在body中

2.1 表单项不能为空

<script language="javascript">
<!--
function CheckForm()

if (document.form.name.value.length == 0) { 
alert("请输入您姓名!");
document.form.name.focus();
return false;
}
return true;
}
-->
</script>

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

<script language="javascript">
<!--
function CheckForm()
if (document.form.PWD.value != document.form.PWD_Again.value) { 
alert("您两次输入的密码不一样!请重新输入.");
document.ADDUser.PWD.focus();
return false;
}
return true;
}
-->
</script>

2.3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等

<script language="javascript">
<!--
function isNumber(String)

var Letters = "1234567890-"; //可以自己增加可输入值
var i;
var c;
if(String.charAt( 0 )=='-')
return false;
if( String.charAt( String.length - 1 ) == '-' )
return false;
for( i = 0; i < String.length; i ++ )

c = String.charAt( i );
if (Letters.indexOf( c ) < 0)
return false;
}
return true;
}
function CheckForm()

if(! isNumber(document.form.TEL.value)) { 
alert("您的电话号码不合法!");
document.form.TEL.focus();
return false;
}
return true;
}
-->
</script>

2.4 表单项输入数值/长度限定

<script language="javascript">
<!--
function CheckForm() 

if (document.form.count.value > 100 || document.form.count.value < 1)

alert("输入数值不能小于零大于100!");
document.form.count.focus();
return false;
}
if (document.form.MESSAGE.value.length<10)

alert("输入文字小于10!");
document.form.MESSAGE.focus();
return false;
}
return true;
}
//-->
</script>

2.5 中文/英文/数字/邮件地址合法性判断

<SCRIPT LANGUAGE="javascript">
<!--

function isEnglish(name) //英文值检测

if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) { 
if(name.charCodeAt(i) > 128)
return false;
}
return true;
}

function isChinese(name) //中文值检测

if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) { 
if(name.charCodeAt(i) > 128)
return true;
}
return false;
}

function isMail(name) // E-mail值检测

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;
}

function isNumber(name) //数值检测

if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) { 
if(name.charAt(i) < "0" || name.charAt(i) > "9")
return false;
}
return true;
}

function CheckForm()

if(! isMail(form.Email.value)) { 
alert("您的电子邮件不合法!");
form.Email.focus();
return false;
}
if(! isEnglish(form.name.value)) { 
alert("英文名不合法!");
form.name.focus();
return false;
}
if(! isChinese(form.cnname.value)) { 
alert("中文名不合法!");
form.cnname.focus();
return false;
}
if(! isNumber(form.PublicZipCode.value)) { 
alert("邮政编码不合法!");
form.PublicZipCode.focus();
return false;
}
return true;
}
//-->
</SCRIPT>

2.6 限定表单项不能输入的字符

<script language="javascript">
<!--

function contain(str,charset)// 字符串包含测试函数

var i;
for(i=0;i<charset.length;i++)
if(str.indexOf(charset.charAt(i))>=0)
return true;
return false;
}

function CheckForm()

if ((contain(document.form.NAME.value, "%\(\)><")) || (contain(document.form.MESSAGE.value, "%\(\)><")))

alert("输入了非法字符");
document.form.NAME.focus();
return false;
}
return true;
}
//-->

转载于:https://www.cnblogs.com/hyea/p/5514669.html

JavaScript - 正则表达之二相关推荐

  1. JavaScript 正则表达判断经度纬度是否符合规范。

    1. 纬度       校验纬度是否符合规范 var latreg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/; va ...

  2. shell正则表达二

    shell正则表达 二部分 一.printf命令: 1. 格式化输出.(print  format) 2. 命令格式: printf'打印格式'实际内容 1. 打印格式: 1) \a(警告声音输出) ...

  3. php 正则替换url参数,JavaScript正则获取地址栏中参数的方法分享

    这篇文章主要介绍了JavaScript正则获取地址栏中参数的方法,涉及javascript基于正则的字符串截取操作相关实现技巧,需要的朋友可以参考下 本文实例讲述了JavaScript正则获取地址栏中 ...

  4. python学习——正则表达项目

    主要实现功能 从网页爬取关键信息,展示在自己写的界面上. 从http://www.5ppt.net/aricle.asp?id=3947&p=1,获取各个国家的疫情信息. 实现思路 使用req ...

  5. Python之面向对象和正则表达(代数运算和自动更正)

    面向对象 一.概念解释 面对对象编程(OOP:object oriented programming):是一种程序设计范型,同时也是一种程序开发的方法,实现OOP的程序希望能够在程序中包含各种独立而又 ...

  6. 经典 正则表达技术文档

    正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描 述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模 ...

  7. Python 之正则表达re.compile()与re.findall()详解

    在使用爬虫提取网页中的部分信息时,采用到了re.compile()与re.findall()两种方法,目的:把网页中的"某某城市土地规划表"截取并打印出来. 网页中的代码: < ...

  8. JavaScript正则-添加千分符的三种方法

    JavaScript正则-千分符 方法一:分组 var str = "4234513634"; // 4,234,513,634 var reg = /^(\d{1,3})((?: ...

  9. JavaScript 正则教程

    做前端的,如果你说专业做前端的,那么它的特点便是使用的技术多种多样,而且跨域性较大:有设计的.用用户体验分析系的,有编码开发的--显得斑驳庞杂.看似那么多的技术,作为前端人员,不能说都精通,但至少需要 ...

  10. MySQL 学习笔记(2)— 通配符/正则表达/运算符

    本文继续对 MySQL 中的通配符过滤.正则表达式.运算符进行分类总结. 1. 通配符 LIKE 指示 MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较,其中分为 % 和 _ 通配符 ...

最新文章

  1. 安卓开发30:AsyncTask的用法
  2. w10查询自己电脑ip
  3. 阿里笔试-二叉树由前序遍历和中序遍历推导后序遍历
  4. 【OS学习笔记】三 计算机的启动过程
  5. 2021南京大学计算机复试线,南京大学2021年硕士研究生复试基本分数线
  6. java创建线程哪种方法最好_Java创建线程的三种方法比较
  7. 【文末福利】算法大赛评委共话技术趋势,这场直播值得一看!
  8. (原)ubuntu下cadvisor+influxdb+grafana+supervisord监控主机和docker的containers
  9. zynq文档学习之GPIO和MIO和EMIO的基本介绍
  10. IDEA 2021 的 debug 是怎么实现?出于这个好奇心,我越挖越深。。。
  11. 搜索软件推荐—Listary一款高效搜索工具
  12. TextWatcher接口
  13. linux的php探针使用,php探针在Linux下的安装过程
  14. 图论法求解经典面试题:NxN匹马,N个赛道,求最快前M匹马,至少需要几次比赛?
  15. 八月,愿你生活不拥挤,笑容不刻意
  16. Hive环境搭建--轻量级安装so easy!
  17. 远程连接内网电脑访问数据
  18. [Andoid][踩坑]CTS 11_r3开始出现的testBootClassPathAndSystemServerClasspath_nonDuplicateClasses FAIL问题分析
  19. 决策树分类评估指标之混淆矩阵
  20. shop--10.店铺列表(后台)

热门文章

  1. 查缺补漏知识点(一)
  2. 框架之---Flask
  3. 你对云存储的安全性了解多少?
  4. 用ssh反向隧道访问内网机器
  5. 关于图像高速缩放算法,目前看到的最好的最清晰的一篇文章2
  6. java的四种取整方法
  7. 使用CSS3关键帧动画创建的动态通知气泡
  8. IBM中低端存储解决方案
  9. el-option传两个值_如意芳霏三对CP三种甜,傅容与徐晋夫唱妇随,甜蜜值爆棚
  10. abort has been called翻译_小分享:一款优秀的你还不知道的免费翻译工具推荐给大家...