JavaScript正则表达式(三)

验证

正则表达式

纯数字

^[0-9]*$ 或者 ^\d*$

n位的数字

^\d{n}$

至少n位的数字

^\d{n,}$

m-n位的数字

^\d{m,n}$

零或非零开头的数字

^(0|[1-9][0-9]*)$

有两位小数的正实数

^[0-9]+(.[0-9]{2})?$

1-3位小数的正实数

^[0-9]+(.[0-9]{1,3})?$

整数

^-?\d+$

非零的正整数

^\+?[1-9][0-9]*$

非零的负整数

^\-[1-9][0-9]*$

非负整数(正整数 + 0

^\-[1-9][0-9]*$

非正整数(负整数 + 0

^((-\d+)|(0+))$

浮点数

^(-?\d+)(\.\d+)?

正浮点数

^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

负浮点数

^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

非正浮点数(负浮点数 + 0

^((-\d+(\.\d+)?)|(0+(\.0+)?))$

非负浮点数(正浮点数 + 0

^\d+(\.\d+)?$

长度为3的字符

^.{3}$

26个英文字母组成的字符串

^[A-Za-z]+$

26个大写英文字母组成的字符串

^[A-Z]+$

26个小写英文字母组成的字符串

^[a-z]+$

由数字和26个英文字母组成的字符串

^[A-Za-z0-9]+$

由数字、26个英文字母或者下划线组成的字符串

^\w+$

密码验证,以字母开头,只能包含字符、数字和下划线,长度在6-18之间。

^[a-zA-Z]\w{5,17}$

特殊字符验证,是否含有 ^%&',;=?$\" 等字符

[^%&',;=?$\x22]+

汉字验证

/^[\u4E00-\u9FA5]*$/

双字节字符(包括汉字中文标点符号在内)

/^[^\x00-\xff]*$/

空白行

\n\s*\r

首尾空白字符

^\s*|\s*$

Email地址

/^\w+@\w+\.\w+$/

URL地址

/[a-zA-z]+:\/\/[\S]*/

网络链接

(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

图片链接

(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

ip地址

\d+\.\d+\.\d+\.\d+

手机号码

/^[1][0-9]{10}$/

电话号码

/^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}(-\d{3})*$/

身份证号(15位或18)

/^(\d{15}|\d{17}([0-9xX]))$/

中国邮政编码(6)

^[0-9]{6}$

HTML标记

< (\S*?)[^>]*>.*?|< .*? />

腾讯QQ

[1-9][0-9]{4,}

一年的12个月

^(0?[1-9]|1[0-2])$

一个月的31

^((0?[1-9])|((1|2)[0-9])|30|31)$

短日期格式:"YYYY-MM-dd"|| "YYYY/MM/dd"

^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2})$

长日期格式:"YYYY-MM-dd HH:mm:ss"|| "YYYY/MM/dd HH:mm:ss"

^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$

十六进制值

/^#?([a-f0-9]{6}|[a-f0-9]{3})$/

 

 

 

 

 

 

正则表达式对象的属性及方法

预定义的正则表达式拥有有以下静态属性:input, multiline, lastMatch, lastParen, leftContext, rightContext$1$9。其中inputmultiline可以预设置。其他属性的值在执行过exectest方法后被根据不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。(JavaScript模拟perl的正则表达式)

正则表达式对象的属性

属性

含义

$1...$9

如果它()存在,是匹配到的子串

$_

参见input

$*

参见multiline

$&

参见lastMatch

$+

参见lastParen

$`

参见leftContext

$''

参见rightContext

constructor

创建一个对象的一个特殊的函数原型

global

是否在整个串中匹配(bool)

ignoreCase

匹配时是否忽略大小写(bool)

input

被匹配的串

lastIndex

最后一次匹配的索引

lastParen

最后一个括号括起来的子串

leftContext

最近一次匹配以左的子串

multiline

是否进行多行匹配(bool)

prototype

允许附加属性给对象

rightContext

最近一次匹配以右的子串

source

正则表达式模式

lastIndex

最后一次匹配的索引

正则表达式对象的方法

方法

含义

compile

正则表达式比较

exec

执行查找

test

进行匹配

toSource

返回特定对象的定义(literal representing),其值可用来创建一个新的对象。重载Object.toSource方法得到的。

toString

返回特定对象的串。重载Object.toString方法得到的。

valueOf

返回特定对象的原始值。重载Object.valueOf方法得到

例子

<script language = "JavaScript">

var myReg = /(w+)s(w+)/;

var str = "John Smith";

var newstr = str.replace(myReg, "$2, $1");

document.write(newstr);

</script>

将输出"Smith, John"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值