执行指定字符串的正则表达式匹配搜索,返回true或false。 RegExp的方法 从JavaScript 1.2, NES 3.0以上版本开始提供语法:regexp.test([str])
参数:regexp,正则表达式的名称,可以是变量名或正则表达式定义文字串 str,要匹配的字符串,如果省略,将使用RegExp.input的值为作参数
描述:当你需要知道一个字符串能否匹配某个正则表达工,可以使用test方法(与String.search方
法类似);为了获得更多的信息(但速度将变慢),可以使用exec方法(与String.match方法类似)。例子:下面的例子显示test是否成功的提示:
function testinput(re, str){
if (re.test(str)) midstring = \else midstring = \
document.write (str + midstring + re.source); } toSource
返回一个字符串象征对象的源码 RegExp的方法从JavaScript 1.3以上版本开始提供语法:toSource()
参数:没有描述:toSource方法返回下述的值:对于内置的RegExp对象,toSource返回下面的字符象征源码不可用:
function Boolean(){ [native code] }
在RegExp场合中, toSource返回象征源码的字符串,通常这个方法是由JavaScript内部自动调用而不是不代码中显式调用。
更多请看Object.toSource toString 返回描绘指定对象的字符串。 RegExp的方法
从JavaScript 1.1, NES 2.0开始提供 ECMA版本ECMA-262 语法:toString() 参数:无 描述:RegExp对象不考虑Object对象的toString方法;它不继承Object.toString,对于RegExp 对
象,toString方法返回一个代表该对象的字符串。例如:下面的例子显示象征RegExp对象的字符串
myExp = new RegExp(\
displays \更多请看:Object.toString valueOf 返回一个RegExp对象的原始值 RegExp的方法从JavaScript 1.1版本开始提供 ECMA版本:ECMA-262 语法:valueOf() 参数:无描述:RegExp的valueOf方法以字符串形式返回RegExp对象的原始值,这个值与RegExp.toString相等。
该方法通常由JavaScript内部自动调用而不是显式调用例子: myExp = new RegExp(\
alert(myExp.valueOf()) displays \
正则表达式在javascript中的几个实例1(转) ! 去除字符串两端空格的处理
如果采用传统的方式,就要可能就要采用下面的方式了
复制代码代码如下:
//清除左边空格
function js_ltrim(deststr) {
if(deststr==null)return \
var pos=0;
var retStr=new String(deststr); if (retStr.lenght==0) return retStr;
while (retStr.substring(pos,pos+1)==\retStr=retStr.substring(pos); return(retStr); }
//清除右边空格
function js_rtrim(deststr) {
if(deststr==null)return \var retStr=new String(deststr); var pos=retStr.length; if (pos==0) return retStr;
while (pos && retStr.substring(pos-1,pos)==\retStr=retStr.substring(0,pos); return(retStr); }
//清除左边和右边空格 function js_trim(deststr) {
if(deststr==null)return \var retStr=new String(deststr); var pos=retStr.length; if (pos==0) return retStr; retStr=js_ltrim(retStr); retStr=js_rtrim(retStr); return retStr;
}
采用正则表达式,来去除两边的空格,只需以下代码 String.prototype.trim = function() {
return this.replace(/(^\\s*)|(\\s*$)/g, \}
一句就搞定了,
可见正则表达式为我们节省了相当的编写代码量
! 移动手机号的校验
如果采用传统的校验方式至少就要完成下面三步的校验, (1). 是否是数字 (2).是否是11位
(3).数字的第三位是否是5,6,7,8,9
如果采用正则表达式校验,只需以下代码
复制代码代码如下:
function checkMobile1(form) {
if (form.mobile.value > \{
var reg=/13[5,6,7,8,9]\\d{8}/;
if ( form.mobile.value.match(reg)== null) {
alert(\请输入正确的移动手机号码!\form.mobile.focus(); return false; } }
return true;
}
从上面的代码可以看出校验移动手机号只需定义一个var reg=/13[5,6,7,8,9]\\d{8}/;模式匹配串就可以完成合法性校验了 ! URL的校验,
条件:必须以http:// 或 https:// 开头, 端口号必须为在1-65535 之间, 以下代码完成了合法性校验
复制代码代码如下:
//obj:数据对象
//dispStr :失败提示内容显示字符串 function checkUrlValid( obj, dispStr) {
if(obj == null) {
alert(\传入对象为空\return false;
}
var str = obj.value;
var urlpatern0 = /^https?:\\/\\/.+$/i; if(!urlpatern0.test(str)) {
alert(dispStr+\不合法:必须以'http:\\/\\/'或'https:\\/\\/'开头!\obj.focus(); return false; }
var urlpatern2= /^https?:\\/\\/(([a-zA-Z0-9_-])+(\\.)?)*(:\\d+)?.+$/i; if(!urlpatern2.test(str)) {
alert(dispStr+\端口号必须为数字且应在1-65535之间!\obj.focus(); return false; }
var urlpatern1
=/^https?:\\/\\/(([a-zA-Z0-9_-])+(\\.)?)*(:\\d+)?(\\/((\\.)?(\\?)?=?&?[a-zA-Z0-9_-](\\?)?)*)*$/i;
if(!urlpatern1.test(str)) {
alert(dispStr+\不合法,请检查!\obj.focus(); return false; }
var s = \var t =0;
var re = new RegExp(\while((arr = re.exec(str))!=null) {
s = str.substring(RegExp.index+1,RegExp.lastIndex); if(s.substring(0,1)==\{
alert(dispStr+\端口号不能以0开头!\obj.focus();
return false; }
t = parseInt(s); if(t<1 || t >65535) {
alert(dispStr+\端口号必须为数字且应在1-65535之间!\obj.focus(); return false; } }
return true;
}
对url的校验,看上去有很多的代码,这是因为要给予出错提示, 否则只需var urlpatern1 =/^https?:\\/\\/(([a-zA-Z0-9_-])+(\\.)?)*(:\\d+)?(\\/((\\.)?(\\?)?=?&?[a-zA-Z0-9_-](\\?)?)*)*$/i; 一句就可以校验出url合法性了
正则表达式在JavaScript应用
-------------------------------------------------------------- 去掉字符串头尾多余的空格 /g是全文查找所有匹配
function String.prototype.Trim(){return this.replace(/(^\\s*)|(\\s*$)/g, \function String.prototype.LTrim(){return this.replace(/(^\\s*)/g, \function String.prototype.RTrim(){return this.replace(/(\\s*$)/g, \--------------------------------------------------------------
应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^\\x00-\\xff]/g,\--------------------------------------------------------------
应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:
String.prototype.trim = function() {
return this.replace(/(^\\s*)|(\\s*$)/g, \}
得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1 s=\
s=s.replace(/(.*\\/){0,}([^\\.]+).*/ig,\alert(s)
##利用正则表达式限制网页表单里的文本框输入内容:
-------------------------------------------------------------- 用正则表达式限制只能输入中文:onkeyup=\
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库JS正则表达式大全(5)在线全文阅读。
相关推荐: