1.快速入门
判断邮件地址的正则表达式
function checkEmail(strMail) {
var re=/\w+@\w+\.\d+/;
// strMail
var testStr="####@126.com";
if (testStr.match(re)) {
alert("匹配!");
} else {
alert("不匹配!");
}
}
2.正则表达式常用元字符介绍
先看看 /\w+@\w+\.\w+/
/
/ 两个反斜杠之间的内容,就是正则表达式
\w 表示包括下划线在内的所有字母,数字
+
表示位数在一位以上
\w+ 合起来就是
包括下划线在内的字母,数字,并且位数在一位以上
\. 转义字符,就是
"."
@ 当然,这就是@符号了
上面的正则表达式,意思是 :一个以上的字符 加上
@符号加上 一个以上的字符 加上 "."符号
加上一个以上的字符
其他常用元字符
*
0个或者多个
+ 1个或者多个
? 0个或者1个
^ 开始字符
$ 结束字符
\d 数字
\w
包括下划线在内的字母,数字
{n,m} n位到m位 ,比如
\d{2,8} 就是2位到8位数字
{n,}
n位以上
x|y
匹配x或者y
比如
a|b
,那么a,或者b,都是可以的
[abc] 只能是a,b,c三个中的一个
[a-z] 只能是a到z之间的一个
3 .
容易忽略的问题
题目:写正则表达式,判断格式
2007 四位数字
答案一:/\d{4}/
问题:如果输入
A2007B,那么还是符合答案一的正则表达式
答案二:/^\d{4}$/
答案二,加上了开始元字符^,结束元字符$
,现在输入A2008B,就不符号格式了
4 .常用正则表达式/匹配
匹配中文字符的正则表达式
:
[\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(/[^\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,''))"
用正则表达式限制只能输入全角字符
:
onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
校验用户名:例如只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(str) {
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(str)) {
return false;
} else {
return true;
}
}
校验密码:例如只能输入6-20个字母、数字、下划线
function isPasswd(strpw) {
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(strpw)) {
return false;
} else {
return true;
}
}
校验用户姓名:例如只能输入1-30个以字母开头的字串:
function isTrueName(str) {
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(str)) {
return false;
} else {
return true;
}
}
校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(str) {
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(str)) {
return false
} else {
return true;
}
}
校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(str) {
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(str)) {
return false;
} else {
return true;
}
}
校验邮政编码
function isPostalCode(sc) {
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(sc)) {
return false;
} else {
return true;
}
}
用正则表达式从URL地址中提取文件名:
function getFileNameByUri(suri) {
// suri
suri="http://www.9499.net/page1.htm";
suri = suri.replace(/(.*\/){0,}([^\.]+).*/ig,"$2");
alert(suri);
}
去除字符串的前后空格:
String.prototype.trim = function() {
return this.replace(/(^\s*)|(\s*$)/g, "");
}
校验是否全由数字组成:
function isDigit(str) {
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(str)) {
return false;
} else {
return true;
}
}
计算字符串的长度:
(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function() {
return this.replace([^\x00-\xff]/g,"aa").length;
}
校验搜索关键字
function isSearch(str) {
var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,19}$/;
if (!patrn.exec(str)) {
return false;
} else {
return true;
}
}
检验是不是IP
function isIP(sIp) {
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(sIp)) {
return false;
} else {
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))
本文经过自己整理,原文出处:http://blog.sina.com.cn/s/blog_4d4e3d0f01008dmu.html
分享到:
相关推荐
最全的常用正则表达式大全,以后再也不愁正则问题了
常用正则表达式常用表达式.doc常用正则表达式常用表达式.doc常用正则表达式常用表达式.doc
常用正则表达式大全.txt常用正则表达式大全.txt常用正则表达式大全.txt常用正则表达式大全.txt常用正则表达式大全.txt
Java常用正则表达式,一些在开发中常用的表达式。
常用正则表达式 邮箱 IP QQ
常用正则表达式 正则表达式 常用正则表达式 正则表达式
JS常用正则表达式 平常的js正则都能查到了
javascript常用正则表达式大全,基本覆盖基本需求的正则表达式
常用正则表达式大全
主要为大家分享了最全的常用正则表达式大全,包括校验数字、字符、一些特殊的需求等等,感兴趣的小伙伴们可以参考一下。 很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是...
本人收集的常用正则表达式,有100个左右,有丰富的数字验证,中文验证,以及各种字符验证
常用正则表达式大全: 匹配中文字符的正则表达式 匹配空白行的正则表达式 匹配HTML标记的正则表达式 匹配Email地址的正则表达式 匹配网址URL的正则表达式 匹配国内电话号 匹配中国邮政编码 匹配身份证 匹配ip地址 ...
PHP常用正则表达式汇总,平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用
常用正则表达式:包含 IP地址、邮政编码、号、XML文件、号、电话号、手机号、域名、Email地址。
常用正则表达式收集常用正则表达式收集常用正则表达式收集常用正则表达式收集常用正则表达式收集常用正则表达式收集常用正则表达式收集常用正则表达式收集常用正则表达式收集常用正则表达式收集
python之常用正则表达式.pdfpython之常用正则表达式.pdfpython之常用正则表达式.pdfpython之常用正则表达式.pdfpython之常用正则表达式.pdfpython之常用正则表达式.pdf
正则表达式规则及常用正则表达式列举,应该很全了
C#中的常用正则表达式总结 C#中的常用正则表达式总结 C#中的常用正则表达式总结
32个常用正则表达式 有了它验证不愁