`
lbyzx123
  • 浏览: 468151 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

javascript 正则表达式总结

阅读更多

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

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

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"

用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"

用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

检验是不是IP

function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

利用正则表达式分解和转换IP地址

下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:

function IP2V(ip)
{
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}

不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:

var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))

去除字符串的前后空格:
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}

计算字符串的长度:(一个双字节字符长度计2,ASCII字符计1)

String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}

得用正则表达式从URL地址中提取文件名:
s="http://www.9499.net/page1.htm"
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")
alert(s)

校验是否全由数字组成:
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}

校验用户姓名:只能输入1-30个以字母开头的字串:
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}

校验密码:只能输入6-20个字母、数字、下划线
function isPasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}

校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

校验邮政编码
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}

校验搜索关键字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}

分享到:
评论

相关推荐

    javascript正则表达式总结.docx

    javascript正则表达式总结.docx

    07JavaScript正则表达式总结.docx

    开发工具与关键技术:Adobe Dreamweaver JavaScript JavaScript 正则表达式总结

    正则表达式练习题

    自己总结的部分javascript的正则表达式练习,希望可以帮助大家,未完整版,随后追加

    JavaScript正则表达式元字符总结

    JavaScript正则表达式元字符总结

    JavaScript常用正则表达式

    总结的js常用的正则表达式,如邮箱,手机号码,等等验证方法。

    正则表达式完整高清版

    《正则指引》针对作者在开发中遇到的实际问题,以及其他开发人员咨询的问题,总结出一套使用正则表达式解题的办法,并通过具体的例子指导读者拆解、分析问题。全书分为三大部分:第一部分主要讲解正则表达式的基础...

    javascript正则表达式总结

    主要介绍了javascript正则表达式总结,都是些常用的表达式,这里分享给大家,希望大家能够喜欢

    正则表达式(学习的好资料)

    C#中的常用正则表达式总结 javascript 验证url的正则表达式 JavaScript中的正则表达式学习1-2 JS与正则式强化训练作业 经典正则表达式 正则表达式--递归匹配与非贪婪匹配 正则式测试工具 等等等等

    javascript正则表达式定义(语法)总结.docx

    javascript正则表达式定义(语法)总结.docx

    正则表达式学习心得 v1.0

    本文主要介绍了正则表达式方面学习的心得,包括Python,C#,PHP,Notepad++,Javascript等方面的使用心得,以及总结了各个语言间正则表达式的区别。

    JavaScript正则表达式函数总结(常用)

    正则表达式作为一种匹配处理字符串的利器在很多语言中都得到了广泛实现和应用.这篇文章主要介绍了JavaScript正则表达式函数总结,需要的朋友可以参考下

    javascript正则表达式

    个人总结的javascript正则表达式,非常全,熟悉java和。net开发的技术人员绝对用得着

    JavaScript中的正则表达式简明总结

    主要介绍了JavaScript中的正则表达式,简明总结了正则中的语法含义和RegExp对象,需要的朋友可以参考下

    JavaScript正则表达式(总结篇)

    本文是小编参考其他有关js正则表达式资料整理的,主要目的有两个:一:自我复习归纳总结。二:共享方便大家搜索。js正则表达式感兴趣的朋友可以一起学习

    JavaScript正则表达式

    总结一些网页上经常使用到的正则表达式的写法,内置还有一篇关于正则表达式的释疑

    JavaScript正则表达式实例详解

    //正则表达式的一般形式 //正则表达式对象的创建: //var 对象名 = new RegExp(参数1,参数2); //参数1:匹配规则,必须是字符串 //参数2:可以省略,(属性)可选值,用来设置匹配规则的范围 //第一种方式

    String字符串匹配javascript 正则表达式

    在JavaScript代码中使用正则表达式进行模式匹配经常会用到String对象和RegExp对象的一些方法,例如replace、match、search等方法,下面所述是对相关方法使用的总结,需要的朋友参考下。 String对象中支持正则表达式...

    javascript 正则表达式

    相关JavaScript的正则表达式学习,很全面的个人总结和网上收集,希望能给各位带来帮助和节约时间,内容相当全面,而且有相关例子,正则表达式(regular expression)描述了一种字符串匹配的模式,// 短日期,形如 (2003-12-...

Global site tag (gtag.js) - Google Analytics