javascript 正则表达式(一)

正则表达式的直接变量字符:
































字符 匹配
\o NUL字符
\t 制表符
\n 换行符
\v 垂直制表符
\f 换页符
\r 回车
\xnn 由十六进制nn指定的拉丁符,比如:\x0A等价于\n
\uxxxx unicode字符
\cX 控制字符^X

正则表达式的js引用:var sEnd=new RegExp("s$");  ——以s为结尾的字符串匹配

function Verify() {
//获取需验证的值,正则表达式
var InforString = document.getElementById("textInfor").value;
var RuleString = document.getElementById("TextAreaRule").value;
var inString = document.getElementById("textInfor").innerHTML;
//正则表达式和需验证的值是否为空
if (InforString != "" && RuleString != "") {
try {
var reg = new RegExp(RuleString)
var result = reg.test(InforString);
if (result) {
verifyResult.innerHTML = "通过!";

}
else {
verifyResult.innerHTML = "不通过!";
}
}
catch (e) {
verifyResult.innerHTML = e.name + ":" + e.message;
}
}
else if (InforString == "") {
verifyResult.innerHTML = "需验证的字符为空!";
}
else if (RuleString == "") {
verifyResult.innerHTML = "正 则表达式为空!";
}
}

正则表达式:

被验证字符:

在正则表达式中具有特殊含义的,它们是:

^ $ . * + ! : | \  / ()  []  {}          以后进行研究

如果在正则表达式中按照直接量使用这些标点符号,前面必须加“\”(转义符)。

其他字符(若@和引号)没有特殊含义,在正则表达式中只按照直接量匹配自身。注:\\——“\”

题目问题:"A[B]C[D]E[F]G"将其分为两个数组,分别是 ACEG 和 [B][D][F].

//问题:"A[B]C[D]E[F]G"将其分为两个数组,分别是 ACEG 和 [B][D][F].
function GroupString() {
var test = document.getElementById("textContent").value;
//方法一
// var test1 = test.match(/\[(\w)*\]/g);
//方法二
var s = /\[(\w)*\]/g;
var result;
var test1 = [];
while ((result = s.exec(test)) != null) {
test1.push(result[0]);
}
var test2 = test.split(/\[(\w)*\]/);
alert("数组一:" + test1 + "数组二:" + test2);
}

疑问:

都是寻找[B][D][F]数组的,不知哪个更好?

//问题:"A[B]C[D]E[F]G"将其分为两个数组,分别是 ACEG 和 [B][D][F].
function GroupString() {
var test = document.getElementById("textContent").value;
//方法一
// var test1 = test.match(/\[(\w)*\]/g);
//方法二
var s = /\[(\w)*\]/g;
var result;
var test1 = [];
while ((result = s.exec(test)) != null) {
test1.push(result[0]);
}
var test2 = test.split(/\[(\w)*\]/);
alert("数组一:" + test1 + "数组二:" + test2);
}

方法一:var test1 = test.match(/\[(\w)*\]/g);

方法二:var s = /\[(\w)*\]/g;
            var result;
            var test1 = [];
            while ((result = s.exec(test)) != null) {
                test1.push(result[0]);
            }

(0)

相关推荐

  • 15个常用的javaScript正则表达式(收藏)

    1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uPattern.test("iFat3")); 2 密码强度正则 //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%

  • JavaScript正则表达式校验与递归函数实际应用实例解析

    JS递归函数(菲波那切数列) 实例解析: 一组数字:0 1 1 2 3 5 8 13 0 1 2 3 4 5 6 7 sl(0)=0; sl(1)=1; sl(2)=sl(0)+sl(1); sl(3)=sl(1)+sl(2); function sl(i){ if(i==0){ return 0; }else if(i==1){ return 1; }else{ return sl(i-1)+sl(i-2); } } 正则表达式检验 //校验是否全由数字组成 function isDigit(

  • JavaScript正则表达式上之基本语法(推荐)

    相关阅读: js正则表达式基本语法(精粹) 正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 复制代码 代码如下: var reg=new RegExp('<%[^%>]+%>','g')

  • javascript正则表达式使用replace()替换手机号的方法

    本文实例讲述了javascript正则表达式使用replace()替换手机号的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <html> <head> <title>javascript正则表达式使用replace()替换手机号</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" />

  • JavaScript正则表达式小结(test|match|search|replace|split|exec)

    学JavaScript正则的好文一篇:http://www.cainiao8.com/web/js_note/js_regular_expression.html test:测试string是否包含有匹配结果,包含返回true,不包含返回false. <script type="text/javascript"> var str = "bbs.byr.cn"; var reg = /b/; var ret = reg.test(str); alert(r

  • JavaScript正则表达式exec/g实现多次循环用法示例

    本文实例讲述了JavaScript正则表达式exec/g实现多次循环用法.分享给大家供大家参考,具体如下: var x = "a.xxx.com b.xxx.com c.xxx.com"; 希望得到 ["a","b","c"] 这三个结果 1. 正则需要 添加 g 2. exec 循环,直到返回空 代码如下,会输出 a b c var x = "a.xxx.com b.xxx.com c.xxx.com";

  • JavaScript正则表达式验证代码(推荐)

    RegExp:是正则表达式(regular expression)的简写. 正则表达式描述了字符的模式对象.可以使用正则表达式来描述要检索的内容. 简单的模式可以是一个单独的字符.更复杂的模式包括了更多的字符,并可用于解析.格式检查.替换等等. //判断输入内容是否为空 function IsNull(){ var str = document.getElementById('str').value.trim(); if(str.length==0){ alert('对不起,文本框不能为空或者为

  • javascript正则表达式中分组详解

    之前写了一篇关于正则新手入门的文章,本以为对正则表达式相对比较了解 但是今天我又遇到了一个坑,可能是自己不够细心的原因吧,今天就着重和大家分享一下javascript正则表达式中的分组.如果你对JS正则表达式不够理解 可以点击这里了解更多. 分组在正则中用的还是比较广的,我所理解的分组 就是一对括号() ,每一对括号 就代表了一个分组, 分组可以分为: 捕获性分组 非捕获性分组 捕获性分组 捕获性分组会在 比如 match exec这样的函数中以第二项,第三项的形式得到相应分组的结果.先来看一个

  • JavaScript正则表达式下之相关方法

    上篇文章给大家介绍了JavaScript 正则表达式上之基本语法介绍了JavaScript正则表达式的语法,有了这些基本知识,可以看看正则表达式在JavaScript的应用了,在一切开始之前,看看RegExp实例的几个属性 RegExp实例对象有五个属性 1.global:是否全局搜索,默认是false 2.ignoreCase:是否大小写敏感,默认是false 3.multiline:多行搜索,默认值是false 4.lastIndex:是当前表达式模式首次匹配内容中最后一个字符的下一个位置,

  • JavaScript正则表达式(总结篇)

    本文是小编参考其他有关js正则表达式资料整理的,主要目的有两个:一:自我复习归纳总结.二:共享方便大家搜索 .js正则表达式感兴趣的朋友可以一起学习,没有写的知识点,欢迎大家补充,共同学习进步. 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+

随机推荐