这两天在用正则表达式搞一个稍微有点复杂的东西,但是不同浏览器之间的差异可浪费了我不少的人参。 现在我把正则表达式在五大主流浏览器(IE、Firefox、Chrome、Safari、Opera,以当前版本为准)之间的差异整理一下罗列出来,给大家,也算给我自己做一个备忘。 1、Firefox和Chrome会过度优化在循环(以及其中内嵌的函数定义)中创建的正则表达式,似乎它们在假设写JavaScript的人会把正则表达式的构建和赋值写错地方。 代码如下:v...
代码如下:function stripscript(s) { var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]") var rs = ""; for (var i = 0; i < s.length; i++) { rs = rs+s.substr(i, 1).replace(pattern, ''); } return rs; } 校验所有输入域是否含有特殊符号 代码如下:/** * 校验所有输入域是否含有特殊符号 * 所要过滤的符号写入正则表达式中,注意,一些符号要用\转义. * 试例: *...
利用正则表达法除去字符串中的重复字符 str = "Google" str1 = str.replace(/(.).*\1/g,"$1") document.write(str + ""); document.write(str1); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
正则表达式可以: 测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证 替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字 根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字 正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字...
校验是否全由数字组成 代码如下:function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } 校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 Java代码 代码如下:function isRegisterUserName(s) { var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; if (!patrn.exec(s)) return false return true } 校验用户姓名:只能输入1-30个以字母开头的字串 Java代码 ...
常用的正则表达式如下: 代码如下:"^-?[1-9]\\d*$", //整数 "^[1-9]\\d*$", //正整数 "^-[1-9]\\d*$", //负整数 "^([+-]?)\\d*\\.?\\d+$", //数字 "^[1-9]\\d*|0$", //正数(正整数 + 0) "^-[1-9]\\d*|0$", //负数(负整数 + 0) "^([+-]?)\\d*\\.\\d+$", //浮点数 "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$", //正浮点数 "^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$", //负浮点数 "^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$", ...
代码如下:var trimInfo = { basic: / / // vb中的简单空白字符过滤 , classic: /\s/ // 传统的js空白字符过滤 , ecmascript5: /[\s\xA0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/ // ECMAScript 5中对/s的补充定义 , ex: /[\s\xA0\u2028\u2029]/ // 印象中是和js中的标识符或者字符串有关,忘了从哪来的了XD , control: /[\x00-\x1F\x7F-\x9F]/ // 补充了控制字符的简单过滤 , dotNet: /[\s\xA0\u2000-\u200B\u30...
关于反向引用 代码如下:// 测试函数 function matchReg(reg, str) { var result = str.match(reg); if(result) { console.dir(result); } else { console.log(match failed); } } var reg = /([A-Za-z]{0,6})\1/; var str = AndrewAndrew; // 测试通过 matchReg(reg, str); //通过(?:pattern)的方式,不记录子表达式匹配的内容(本例中为Andrew) //所以\1对子表达式匹配内容的引用失败了 //注意:这里强调的是子表达式所匹配的内容,而...
代码如下:function checkFormat(str) { if (escape(str).indexOf("%u")!=-1) alert("不能含有汉字"); else if(str.match(/\D/)!=null) { alert(不能含有字母); } }
1.下面列出了一些判读数值类型的正则表达式 代码如下:"^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\\d+$" //整数 "^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 "^((-\\d+(\\.\\d+)?)|(...
示例代码如下: var strM = "javascript is a good script language"; //在此我想将字母a替换成字母A alert(strM.replace("a","A")); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 它只替换了首字母。但如果加上正则表达式结果就不一样了!replace()支持正则表达式,它可以按照正则表达式的规则匹配字符或字符串,然后给予替换! 注意:被替换的部分不用加双引号. var strM = "javascript is a good script language"; //在...
正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下:测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段...
说明:IE6.0、IE7.0、IE8.0、Firefox/3.0.11下测试通过验证数字最简单正则表达式大全 输入完按回车后即可验证!(自认为最简单!) 正整数: 负整数: 整 数: 正小数: 负小数: 小 数: 实 数: 保留1位小数: 保留2位小数: 保留3位小数: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
1,不能为空 <input type="text" onblur="if(this.value.replace(/^ +| +$/g,)==)alert(不能为空!)"> 2,只能输入英文和数字<input onblur="if(/[^0-9a-zA-Z]/g.test(value))alert(有错)"><input onkeyup="value=value.replace(/[^0-9a-zA-Z]/g,)"/><input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,)"> 3,判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 /^([a-zA-z_]{1})([\w]*)$/g.t...
这个手机号码正则验证函数可以说是最新的都支持的,里面有详细的介绍说明,不论以后增加什么号段大家都非常容易的稍微修改一下即可。javascript 手机号码正则表达式验证函数 代码如下://ip与域名验证函数 function checkIP() { var ipArray,ip,j; ip = document.ipform.ip.value; if(/[A-Za-z_-]/.test(ip)){ if (ip.indexOf(" ")>=0){ ip = ip.replace(/ /g,""); document.ipform.i...