JS的正则表达式|F.I.R
//校验是否全由数字组成
[code] function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } [/code]
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、??”的字串
[code] function isRegisterUserName(s) { var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; if (!patrn.exec(s)) return false return true } [/code]
//校验用户姓名:只能输??-30个以字母开头的字串
[code] function isTrueName(s) { var patrn=/^[a-zA-Z]{1,30}$/; if (!patrn.exec(s)) return false return true } }} //校验密码:只能输??-20个字母、数字、下划线 [code] function isPasswd(s) { var patrn=/^(\w){6,20}$/; if (!patrn.exec(s)) return false return true } [/code]
//校验普通电话、传真号码:可以??”开?
正则表达式对??
本对象包含正则表达式模式以及表明如何应用模式的标志??
[code] 语法 1 re = /pattern/[flags] 语法 2 re = new RegExp("pattern",["flags"]) [/code]
参数
re
必选项。将要赋值为正则表达式模式的变量名??
Pattern
必选项。要使用的正则表达式模式。如果使用语??1
f.i.r 需要你的爱,用 "/" 字符分隔模式。如果用语法 2,用引号将模式引起来??Flags
可选项。如果使用语??2 要用引号??flag 引起来。标志可以组合使用,可用的有??
[code] g (全文查找出现的所??pattern??i (忽略大小写??m (多行查找) [/code]
示例
下面的示例创建一个包含正则表达式模式及相关标志的对象(re),向您演示正则表达式对象的用法。在本例中,作为结果的正则表达式对象又用??match 方法中:
[code] function MatchDemo() { var r, re; // 声明变量??var s = "The rain in Spain falls mainly in the plain"; re = new RegExp("ain","g"); // 创建正则表达式对象??r = s.match(re); // 在字符串 s 中查找匹配??return(r); } [/code]
返回值: ain,ain,ain,ain\\
属??lastIndex 属??| source 属性\\
方法 compile 方法 | exec 方法 | test 方法\\
要求 版本 3\\
请参??RegExp 对象 | 正则表达式语??| String 对象\\
exec 方法
用正则表达式模式在字符串中运行查??a href=http://dpsqwyfq.bokee.com/viewdiary.25166905.html>f.i.r mp3f.i.r乐队,并返回包含该查找结果的一个数组??
rgExp.exec(str)
参数
rgExp
必选项。包含正则表达式模式和可用标志的正则表达式对象??
str
必选项。要在其中执行查找的 String 对象或字符串文字??
说明\\
如果 exec 方法没有找到匹配,则它返??null。如果它找到匹配,则 exec 方法返回一个数组,并且更新全局 RegExp 对象的属性,以反映匹配结果。数组的0元素包含了完整的匹配,而第1到n元素中包含的是匹配中出现的任意一个子匹配。这相当于没有设置全局标志 (g) ??match 方法??
如果为正则表达式设置了全局标志,exec 从以 lastIndex 的值指示的位置开始查找。如果没有设置全局标志,exec 忽略 lastIndex 的值,从字符串的起始位置开始搜索??
exec 方法返回的数组有三个属性,分别??input、index ??lastIndex。Input 属性包含了整个被查找的字符串。Index 属性中包含了整个被查找字符串中被匹配的子字符串的位置。LastIndex 属性中包含了匹配中最后一个字符的下一个位置??
示例\\
下面的例子举例说明了 exec 方法的用法:
[code] function RegExpTest() { var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion()) if (ver >= 5.5){ // 测试 JScript 的版本??var src = "The rain in Spain falls mainly in the plain."; var re = /\w+/g; // 创建正则表达式模式??var arr; while ((arr = re.exec(src)) != null) document.write(arr.index + "-" + arr.lastIndex + arr + "\t"); } else{ alert("请使??JScript 的更新版??quot;); } } [/code]
返回值:0-3The 4-8rain 9-11in 12-17Spain 18-23falls 24-30mainly 31-33in 34-37the 38-43plain
test 方法\\
返回一??Boolean 值f.i.r乐团,它指出在被查找的字符串中是否存在模式??
rgexp.test(str)
参数\\
rgexp
必选项。包含正则表达式模式或可用标志的正则表达式对象??
str
必选项。要在其上测试查找的字符串??
说明
test 方法检查在字符串中是否存在一个模式,如果存在则返??true,否则就返回 false??
全局 RegExp 对象的属性不??test 方法来修改??
示例
下面的例子举例说明了 test 方法的用法:
[code] function TestDemo(re, s) { var s1; // 声明变量?
函数调用:document.write (TestDemo(/ain+/ ,"The rain in Spain falls mainly in the plain."));
返回值:'The rain in Spain falls mainly in the plain.' contains 'ain+'
match 方法
使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。\\
stringObj.match(rgExp)
参数\\
stringObj
必选项。对其进行查找的 String 对象或字符串文字??
rgExp
必选项。为包含正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字??
说明\\
如果 match 方法没有找到匹配三个愿望 f.i.r,返??null。如果找到匹配返回一个数组并且更新全局 RegExp 对象的属性以反映匹配结果??
match 方法返回的数组有三个属性:input、index ??lastIndex。Input 属性包含整个的被查找字符串。Index 属性包含了在整个被查找字符串中匹配的子字符串的位置。LastIndex 属性包含了最后一次匹配中最后一个字符的下一个位置??
如果没有设置全局标志 (g)
返回值:The rain in Canada
search 方法
返回与正则表达式查找内容匹配的第一个子字符串的位置??
stringObj.search(rgExp)
参数\\
stringObj
必选项。要在其上进行查找的 String 对象或字符串文字??
rgExp
必选项。包含正则表达式模式和可用标志的正则表达式对象??
说明
search 方法指明是否存在相应的匹配。如果找到一个匹配,search 方法将返回一个整数值,指明这个匹配距离字符串开始的偏移位置。如果没有找到匹配,则返??-1??
示例\\
下面的示例演示了 search 方法的用法??
[code] function SearchDemo() { var r, re; // 声明变量??var s = "The rain in Spain falls mainly in the plain."; re = /falls/i; // 创建正则表达式模式??r = s.search(re); // 查找字符串??return(r); // 返回 Boolean 结果??} [/code]
返回值:18
正则表达式语??
一个正则表达式就是由普通字符(例如字符 a ??z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模??a href=http://blog.sina.com.cn/s/blog_4eff582f01009eqq.html>f.i.r最新消?
![]() | ![]() | ![]() | ![]() |
这里有一些可能会遇到的正则表达式示例??
[code] JScript VBScript 匹配 /^\[ \t]*$/ "^\[ \t]*$" 匹配一个空白行?
>>>QQ470681378


