• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Javascript正则表达式测试网页
    你平时如何测试正则表达式?直接写在大段的代码中,然后等待程序运行到那里,再用alert显示结果?或者是临时写一个页面,测试完成后把它丢掉?



    你可以试一下我这个页面,虽然它很粗糙,但是测试正则表达式也足够了:))



    一、说明:

    1. 我的本意为交流技术.本人水平很菜.因此所贴出的代码中,会有不足之处.

    2. 代码可任意修改.如果你觉得你修改过的代码比我的好,可将它贴出,我非常感谢.

    3. 我对javascript的规范并不很熟悉.我的经验来自于开发.因此,若你对它有更好的见解,欢迎提出,我非常感谢.



    二、测试用例:



    1. 检查字符串中是否有非数字的字符:

    test regex: \D

    test regex flags: g

    test string: 1234g56t78



    2. 检查字符串中是否有非0-9、a~z、A-Z、_的字符:

    test regex: \W

    test regex flags: g

    test string: i'm a pig! yes I'm!



    3. 匹配字符串中的实数:



    test regex: ([\d]+])\.([\d]+)

    test regex flags: g

    test string: float1234.58.723c65.183



    三、程序代码:



    !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    HTML>

    HEAD>

    TITLE>Javascript regex test page/TITLE>

    META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=GB2312">

    SCRIPT>

    /**

    * Method 测试正则表达式函数

    * @param method 接收到的正则表达式类的方法

    */

    function check(method)

    {

    // 将用户输入的正则表达式的标志转换为小写

    form1.flags.value = form1.flags.value.toLowerCase();



    // 如果含有不是g、i、m的字符, 则 提示并返回

    if ( form1.flags.value.search(/[^g|i|m]/g) != -1 )

    {

    alert("flags only can be g, i, m");

    return;

    }



    // 利用用户输入的字符串和标志建立正则表达式

    var re = new RegExp(form1.regex.value, form1.flags.value);



    // 获得并显示生成的正则表达式的字符串形式

    destRegex.innerText = re.toString() + ' ';



    // 定义 返回值

    var cr;



    ex = "new RegExp('" + form1.regex.value + "', '" + form1.flags.value + "').";



    // 根据用户选择的方法, 进行相应的调用

    switch ( method )

    {

    case '0': // 正则表达式的 exec 方法

    cr = re.exec(form1.string.value);

    ex = ex + "exec('" + form1.string.value + "')";

    break;



    case '1': // 正则表达式的 test 方法

    cr = re.test(form1.string.value);

    ex = ex + "test('" + form1.string.value + "')";

    break;



    case '2': // 字符串类的 match 方法

    cr = form1.string.value.match(re);

    ex = "'" + form1.string.value + "'.match(" + re.toString() + ")";

    break;



    case '3': // 字符串类的 search 方法

    cr = form1.string.value.search(re);

    ex = "'" + form1.string.value + "'.search(" + re.toString() + ")";

    break;



    case '4': // 字符串类的 replace 方法

    cr = form1.string.value.replace(re);

    ex = "'" + form1.string.value + "'.replace(" + re.toString() + ")";

    break;



    case '5': // 字符串类的 split 方法

    cr = form1.string.value.split(re);

    ex = "'" + form1.string.value + "'.split(" + re.toString() + ")";

    break;

    }



    // 获得并显示表达式

    expression.innerText = ex;



    // 获得并显示计算结果的类型

    returnType.innerText = typeof(cr);



    // 定义结果

    var result = '';



    if ( cr != null typeof(cr) == 'object' cr.length != null ) // 如果计算结果是一个数组, 则取出所有数组的值

    {

    for ( i = 0; i cr.length; i++ )

    {

    result += "array[" + i + "] = '" + cr[i] + "'\n";

    }

    }

    else

    if ( cr != null ) // 如果计算结果不为null, 则取出计算结果的值

    {

    result = cr;

    }



    // 获得并显示结果

    matchResult.innerText = result + ' ';



    // 获得并显示正则表达式的lastIndex属性

    lastIndex.innerText = re.lastIndex + ' ';

    }

    /SCRIPT>

    /HEAD>



    BODY ALIGN=CENTER>

    FORM NAME="form1" METHOD="post" ACTION="" ALIGN=CENTER>

    TABLE BORDER="1">

    TR>

    TD COLSPAN="2" ALIGN="CENTER">test javascript regex/TD>

    /TR>

    TR>

    TD>test regex:/TD>

    TD>INPUT NAME="regex" TYPE="text">/TD>

    /TR>

    TR>

    TD>test regex flags:/TD>

    TD>INPUT NAME="flags" TYPE="text" ID="flags">/TD>

    /TR>

    TR>

    TD>test string:/TD>

    TD>INPUT NAME="string" TYPE="text">/TD>

    /TR>

    TR>

    TD>select method:/TD>

    TD ALIGN="CENTER">

    SELECT NAME="select" onChange="check(this.value)">

    OPTION VALUE="0">exec/OPTION>

    OPTION VALUE="1">test/OPTION>

    OPTION VALUE="2">match/OPTION>

    OPTION VALUE="3">search/OPTION>

    OPTION VALUE="4">replace/OPTION>

    OPTION VALUE="5">split/OPTION>

    /SELECT>

    INPUT VALUE='run' onclick="check(form1.select.value)" TYPE=button>

    /TD>

    /TR>

    TR>

    TD>dest regex:/TD>

    TD STYLE="color:blue" ID=destRegex>nbsp;/TD>

    /TR>

    TR>

    TD>dest expression:/TD>

    TD STYLE="color:blue" ID=expression>nbsp;/TD>

    TR>

    TR>

    TD>return type:/TD>

    TD STYLE="color:darkred" ID=returnType>nbsp;/TD>

    /TR>

    TR>

    TD>result:/TD>

    TD STYLE="color:red" ID=matchResult>nbsp;/TD>

    /TR>

    TR>

    TD>regex lastIndex:/TD>

    TD STYLE="color:red" ID=lastIndex>nbsp;/TD>

    /TR>

    /TABLE>

    /FORM>

    /BODY>

    /HTML>
    上一篇:ubb代码转换为html
    下一篇:正则表达式验证
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Javascript正则表达式测试网页 Javascript,正则,表达式,测试,