javascript: 正则表达式
正则表达式
RegExp(regexp, option)类实现,可以简写成/regexp/option
option:
g: global, i: ignore case
方法:string.test(regexp),
string.exec(regexp)[返回所有匹配的地方], string.serch(regexp)[正则版的indexOf()],
string.replace(regexp, str|funtion), string.split(regexp)
简单模式
元字符:( [ {
\ ^ $ | ) ? * + . 使用的时候用'\'转义
特殊字符:\x62[16进制],
\u0062[unicode], \t, \n, \r, \f[换页], \a[alert],\e[escape], \cX[控制字符],
\b[回退字符], \v[垂直制表符], \0[空字符]
预定义字符: .==[^\n\r], \d == [0-9], \D
== [^0-9], \s == [ \t\n\x0B\f\r], \S == [^ \t\n\x0B\f\r],
\w=[a-zA-Z_0-9], \W=[^a-zA-Z_0-9]
量词
简单量词
?:
出现0次或1次
*: 出现0次或多次
+: 出现1次或多次
{n}:出现n次
{n,
m}: 至少出现n次,但不超过m次
{n,}:至少出现n次
贪
婪的、惰性的和支配性的量词
贪婪量词:尽可能多地匹配更多的字符(default)
惰性量词:尽可能少的匹
配更少的字符(简单量词后加?)
支配量词:只尝试匹配整个字符串(简单量词后加+)
复杂模式
分
组:
用()分组,分组可嵌套
反向引用:
利用分组,$n
候选:
类似或 |
非
捕获性分组:
避免反向引用的开销。(?:xxx)
前瞻(look ahead):
(?=xxx)-->positive,
(?!xxx)-->negative
边界:
^:行开头
$:
行结尾
\b: 单词边界
\B: 非单词边界
多行模式:
/m选项
RegExp
对象
instance属性
global: /g
ignoreCase: /i
lastIndex:
代表下次匹配将会从哪个字符开始,只在exec()或test()时设置。
multiline:/m
source:
正则表达式的源字符形式。
静态属性
静态属性对所有正则表达式都有效,有两个名
字,一个长名,一个短名。每次执行exec()或test()时,所有的属性(除multiline外)都会被重新设置
input/$_:
最后用于匹配的字符串(传递给exec()或test()的字符串)
lastMatch/$&: 最后匹配的字符串
lastParen/$+:
最后匹配的分组
leftContext/$`:在上次匹配的前面的字符串
multiline/$*:
用于指定是否所有的表达式都使用多行模式。ie和opera暂不支持,所以最好用/m设置多行
rightContext/$':在上次
匹配的后面的字符串
常用模式
日期,dd/mm/yyyy:
采用非捕获性分组:date =
/(?:0[1-9]|[12][0-9]|3[01])\/(?:0[1-9]|1[0-2])\/(?:19|20\d{2})/;
相关文档:
我想使用过ajax的都常见这样的代码:
<a href="javascript:doTest2();void(0);">here</a>
但这儿的void(0)究竟是何含义呢?
Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。
void 操作符用法格式如下:
1. javascript:void (expression)
2. javascript:void expression
expr ......
简介
1st JavaScript Editor 是一款强大的JavaScript开发、校验和调试工具,它简单易用,不论你是初学者或者是专业的开发人士,都可以轻松上手!同时它又是完美的Ajax (Asynchronous JavaScript and XML),CSS, HTML, DOM DHTML开发工具!
Beside rich possibilities of editing scripts (JavaScript, ......
<html>
<head>
<mce:script type = "text/javascript"><!--
function changetext()
{
var x = document.getElementById("list");
for (var i = 0;i < x.length;i++ )
{
if (x.options[i].selected)
{
document.getElemen ......
JavaScript gives HTML designers a programming tool - HTML authors are normally not programmers, but JavaScript is a scripting language with a very simple syntax! Almost anyone can put small "snippets" of code into their HTML pages
JavaScript can put dynamic text into an HTML page - A Ja ......