function palindrome(str) {str = str.replace(/\s/g,"").replace(/[^a-zA-Z0-9]/g,"").toLowerCase(); //先将字符串去除空格及其他特殊字符,只保留数字和大小写字母,接着再将其装换成小写var str2= str.split(‘‘).reverse(‘‘).join(‘‘);//先分割字符串成数组,然后再将数组倒置,接着在合并成字符串if (str == str2) {returntrue;} else {returnfalse;}} function reverse1(str1){return str1.split(‘‘).reverse(‘‘)....
<input type=‘text‘ id=‘SYS_PAGE_JumpPage‘ name=‘SYS_PAGE_JumpPage‘ size=‘3‘ maxlength=‘5‘ onkeyup=‘this.value=this.value.replace(/[^1-9]\D*$/,"")‘ ondragenter="return false" onpaste="return !clipboardData.getData(‘text‘).match(/\D/)"" style="ime-mode:disabled;"> 1.只能输入数字和英文的: <input onkeyup="value=value.replace(/[\W]/g,‘‘) " onbeforepaste="clipboardData.setData(‘text‘...
一个全为数字的字符串,现在要从后往前每三位分割 ‘123456789‘.replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,‘$1,‘); 123,456,789使用了贪婪模式,正负前瞻,捕获和非捕获,如果有其它解决方案,欢迎介绍原文:http://my.oschina.net/wizardpisces/blog/397765
正则表达式中有很多上述的具有特别意义的字符。首先是下列字符。[ ]范围描述符。[a-z]表示从a到z之间的任意一个。\w英文字母和数字。即[0-9 A-Z a-z]。\W非英文字母和数字\s空字符,即[\t\n\r\f]。\S非空字符。\d数字,即[0-9]。\D非数字。\b词边界字符(在范围描述符外部时)\B非词边界字符\b退格符(0x08)(在范围描述符内部时)*前面元素出现0次以上+前面元素出现1次以上{m,n}前面元素最少出现m次,最多出现n次?前面元素出现0次...
常用的前台正则表达式汇总。1、手机号验证手机格式以1开头,现有的手机格式一般为13、14、15、17、18等var regMobile = /^1[34578]\d{9}$/; //或者为/^1[3|4|5|7|8][0-9]\d{8}$/; if(!regMobile.test(‘手机号‘)){ alert(‘手机号格式不正确!‘); } 2、邮箱验证var regEmail = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/ 3、固话验证验证格式为0510-88128803、010-58128512var regPhone = /\d{3}-\d{8}|\d{4}-\d{8}/; 原文:ht...
如果能用字面量创建正则就最好不过,显然有时我们不得不使用new RegExp()这种大消耗的创建方法,比如语法高亮与排版就大量用到正则表达式,要用到的patten越多,需要的时间就越长,火狐好像是12秒就发出警告,IE就直接假死。这时我们就需要利用组存大法要提高我们程序的性能了。通常摆在我们眼前的如下两种选择来作为我们的容器,数组或对象。我这里选择前者,前者更轻量一点。下面我们就hasClass函数作性能改进。 原来的写法: 代...
如果能用字面量创建正则就最好不过,显然有时我们不得不使用new RegExp()这种大消耗的创建方法,比如语法高亮与排版就大量用到正则表达式,要用到的patten越多,需要的时间就越长,火狐好像是12秒就发出警告,IE就直接假死。这时我们就需要利用组存大法要提高我们程序的性能了。通常摆在我们眼前的如下两种选择来作为我们的容器,数组或对象。我这里选择前者,前者更轻量一点。下面我们就hasClass函数作性能改进。 原来的写法: 代...
正则表达式:定义字符串的组成规则单个字符[]例如:[a][ab]a或者b[a-zA-Z0-9]a到z其中以一个或者A到Z其中一个或者0到9其中一个*特殊符号代表特殊含义的单个字符/d单个数字[0-9]/w单个字符[a-zA-Z]量词符号?:出现0次或者一次*:出现零次或者多次+:出现一次或者多次{m,n}表示 m<=字符(数字)数量<=n{,n}最多n个{m,}最少m人正则对象1创建var reg = new RegExp("\\w{5,10}");var reg = /^\w{5,10}$/; 使用var reg = new RegExp(...
之前写了一篇关于正则新手入门的文章,本以为对正则表达式相对比较了解 但是今天我又遇到了一个坑,可能是自己不够细心的原因吧,今天就着重和大家分享一下javascript正则表达式中的分组。如果你对JS正则表达式不够理解 可以点击这里了解更多。分组在正则中用的还是比较广的,我所理解的分组 就是一对括号() ,每一对括号 就代表了一个分组,分组可以分为:捕获性分组非捕获性分组捕获性分组捕获性分组会在 比如 match exec这样的...
RegExp对象的创建: 常规的正则表达式的创建可用直接量,即斜杠 “/” 括起来的字符。但在要求参数变化的环境下,RegExp()构造函数是更好的选择: var reg1 = /\w+/g; var reg2 = new RegExp(\\\w+\,g); 对比两种创建方式,RegExp中的第一个参数为要创建的正则字符串,一方面注意,因为不是直接量的表示形式,因此不用斜杠“ / ”括起来了;而是字符串中必须要对引号“ ‘ ”和转义符号“ \ ”进行二次转义。 此外,无论是直接量还...
本文实例讲述了JS正则截取两个字符串之间及字符串前后内容的方法。分享给大家供大家参考,具体如下:1、js截取两个字符串之间的内容:var str = "aaabbbcccdddeeefff"; str = str.match(/aaa(\S*)fff/)[1]; alert(str);//结果bbbcccdddeee 2、js截取某个字符串前面的内容:var str = "aaabbbcccdddeeefff"; tr = str.match(/(\S*)fff/)[1]; alert(str);//结果aaabbbcccddd 3、js截取某个字符串后面的内容:var str = "aaabbbcc...
今天看到蓝色有人 问这个问题,偶就试着写了一个,感觉正则的replace+function方式挺方便简洁,代码如下:"}); alert(str); // [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
功能:$1-$9存放着正则表达式中最近的9个正则表达式的匹配结果,这些结果按照子匹配的出现顺序依次排列。 基本语法RegExp.$n 注意:这些属性是静态的,除了replace中的第二个参数可以省略RegExp之外,其他地方使用都要加上RegExp。案例讲解:demo1 代码如下:<html> <script language="javascript" type="text/javascript"> //创建要进行匹配的字符串 var objStr="这是我的手机号13100000000" //创建正则表达式匹配手机号码 var re...
功能:index与search返回的值相同,不管是是否匹配到合适内容,如果找到合适内容则index为匹配内容其实字符的起始位置,如果没有找到则返回-1 基本语法RegExp.index 注意:该属性也是RegExp的静态属性,调用方式固定。 代码如下:<html> <script language="javascript" type="text/javascript"> //alert(Designed By Androidyue); //设置正则表达式,匹配类似12021这样的,个位和万位相同,十位和千位相同的数字,非全局只进行一次...
当我们在一些网站注册账号、填写信息是,不小心将电话号码填写成汉字或其他英文字母了,这显然是不正确的。为了帮助用户更好地纠正输入时的错误,在表单中填写信息时,需要限制手机号、邮编、电话号码这类文本框不能输入其他字符,只能是数字。通过使用正则匹配输入的时候只是数字:代码如下: var numRegex = /\D/g 再通过JavaScript的onblur 事件:定义和用法onblur 事件会在对象失去焦点时发生。Onblur 经常用于Javascript验证代...