|
验证 |
正则表达式 |
|
^[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}$ |
|
^[A-Za-z]+$ | |
|
由26个大写英文字母组成的字符串 |
^[A-Z]+$ |
|
由26个小写英文字母组成的字符串 |
^[a-z]+$ |
|
由数字和26个英文字母组成的字符串 | |
|
由数字、26个英文字母或者下划线组成的字符串 | |
|
密码验证,以字母开头,只能包含字符、数字和下划线,长度在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位) | |
|
HTML标记 |
< (\S*?)[^>]*>.*?|< .*? /> |
|
腾讯QQ号 |
[1-9][0-9]{4,} |
|
一年的12个月 |
^(0?[1-9]|1[0-2])$ |
|
^((0?[1-9])|((1|2)[0-9])|30|31)$ | |
|
短日期格式:"YYYY-MM-dd"|| "YYYY/MM/dd" | |
|
长日期格式:"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。其中input和multiline可以预设置。其他属性的值在执行过exec或test方法后被根据不同条件赋以不同的值。许多属性同时拥有长和短(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"
1475

被折叠的 条评论
为什么被折叠?



