自制正则表达式测试工具

按照国际惯例先放效果图

直接上代码:

<!DOCTYPE html>
<html lang="zh-CN"headmeta charset="UTF-8" />
title>正则表达式测试工具</style>
    dl,dd {
        padding: 0;
        margin;
    }
    .cf 
        zoom 1
    .cf:after 
        display block
        clear both
        content ""
    .wrap 
        width 1000px 100px auto
    .title 
        color #777
        font-size 24px
        text-align center
    #regexp 
        float left 650px 14px
    #regexp .textbox  638px
        height 150px
        border 1px solid #ccc
        border-radius 5px
        resize none
    #regexp .readonly 
        background-color #eee
    #regexp .textfield  215px
    #reglist  right 320px #f5f5f5 20px 0
    #reglist dt 
        margin-bottom 10px
        text-indent 20px #999 18px
        font-weight bold
    #reglist dd  40px
        line-height
    #reglist a  #08c
        text-decoration
    #reglist a:hover  #005580}
body>

    div class="wrap cf">
        h1 ="title"h1id="regexp">
            textarea ="userText" class="textbox" placeholder="在此输入待匹配的文本"></textareap>
                正则表达式:input type="text" id="userRegExp"="textfield"="在此输入正则表达式" />
                ="checkbox" name="userModifier" value="i" />忽略大小写
                ="g" 全局匹配
                ="m" 多行匹配
                ="button"="matchingBtn"="测试匹配" />
            
            匹配结果:
            ="matchingResult"="textbox readonly"div
                替换文本:="userReplaceText"="在此输入替换文本" ="replaceBtn"="替换" 
            替换结果:
            ="replaceResult"dl ="reglist"dt>常用正则表达式dd><a href="javascript:;" title="[\u4e00-\u9fa5]">匹配中文字符a="[^\x00-\xff]">匹配双字节字符(包括汉字在内)="\n\s*\r">匹配空白行="[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?">匹配Email地址="[a-zA-z]+://[^\s]*">匹配网址URL="\d{3}-\d{8}|\d{4}-\{7,8}">匹配国内电话号码="[1-9][0-9]{4,}">匹配腾讯QQ号="[1-9]\d{5}(?!\d)">匹配中国邮政编码="^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$">匹配18位身份证号="([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))">匹配(年-月-日)格式日期="^[1-9]\d*$">匹配正整数="^-[1-9]\d*$">匹配负整数="^-?[1-9]\d*$">匹配整数="^[1-9]\d*|0$">匹配非负整数(正整数 + 0)="^-[1-9]\d*|0$">匹配非正整数(负整数 + 0)="^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$">匹配正浮点数="^-[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$">匹配负浮点数dl>
    >

p ="text-align: center;">本程序由strong ="color: blue;">xxxstrong>制作,欢迎大家使用!script>
    var userText = document.getElementById('userText),userRegExp userRegExp document.getElementsByName(userModifiermatchingBtnmatchingResultuserReplaceTextreplaceBtnreplaceResultreglist).getElementsByTagName(a);
     pattern,modifier = '';

    for ( i 0; i < userModifier.length; i++) {
        userModifier[i].onclick function () {
            modifier ;
             j ; j  userModifier.length; j) {
                if (userModifier[j].checked) {
                    modifier += userModifier[j].value;
                }
            }
        }
    }

    matchingBtn.onclick  () {
        !userText.value) {
            alert(请输入待匹配的文本!);
            userText.focus();
            return;
        }
        userRegExp.value) {
            alert(请输入正则表达式!);
            userRegExp.focus();
            ;
        }
        pattern new RegExp((' + userRegExp.value + ),modifier);
        matchingResult.innerHTML  pattern.exec(userText.value) ? userText.value.replace(pattern,<span style="background-color: yellow;">$1</span>) : (没有匹配);
    }
    replaceBtn.onclick userReplaceText.value) {
            alert(请输入要替换成的文本!);
            userReplaceText.focus();
            <span style="color: red;"> userReplaceText.value </span>);
    }

     reglists.length; i) {
        reglists[i].onclick  () {
            userRegExp.value this.title;
        };
    }
html>

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小