易截截图软件、单文件、免安装、纯绿色、仅160KB

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})/;


相关文档:

js 判断当前浏览器JavaScript的版本

function RegExpTest(){
var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion());
alert("version=="+ver);
if (ver >= 5.5){ // 测试 JScript 的版本。
var src = "The rain in Spain falls mainly in the plain.";
var re = /\w+/g; // ......

javascript 下拉框(select)选择与被选择

<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 ......

What can a JavaScript do?


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 ......

silverlight与javascript交互操作

在silverlight开发中,我们可以使用js来调用silverlight中的方法(当然方法上要捆绑相应属性),也可以将指定
的js方法绑定到silverlight应用中的事件上.本DEMO演示了通过js调用完成silverlight数据列表控件(DataGrid)的数
据绑定操作,并通过DataGrid的EmployeeList_BeginningCellEdit事件将当前选取的数据行信息返回到 ......

javascript 客户端 生成 MD5值

最近太忙,没有时间总结工作内容了,忙里偷闲吧,共享下我的JavaScript MD5 脚本
 var hex_chr = "0123456789abcdef";
function rhex(num)
{
str = "";
for(j = 0; j <= 3; j++)
str += hex_chr.charAt((num >> (j * 8 + 4)) & 0x0F) +
hex_chr.charAt((num >> (j * 8)) & 0x0F);
re ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号