JavaScript正则表达式 及 HTML 模板介绍使用

JavaScript 正则表达式,用于规定在文本中检索的内容。

一、定义正则表达式:

rep = /\d+/;        // js定义正则。(python定义正则:re模块 rep = "\d+")
// 注:定义正则表达式也可以  reg= new RegExp()
  • /…/ 用于定义正则表达式
  • /…/g 表示全局匹配
  • /…/i 表示不区分大小写
  • /…/m 表示多行匹配

JS正则匹配时本身就是支持多行,此处多行匹配只是影响正则表达式^和$,m模式也会使用^$来匹配换行的内容

> var text = "JavaScript is more fun than \nJavaEE or JavaBeans!";
"JavaScript is more fun than \
JavaEE or JavaBeans!"
> var pattern1 = /Java\w*/g;        // 无^、$,默认就是多行
> var pattern2 = /^Java\w*/g;       // 有^、$,只匹配一行
> var pattern = /^Java\w*/gm;       // 有^、$,多行匹配
> result = pattern.exec(text)
["JavaScript"]
> result = pattern.exec(text)
["JavaEE"]

二、正则对象的方法

有 3 个方法:test()、exec() 以及 compile()。

1、test()

test() 方法检索字符串中的指定值。返回值是 true 或 false。

> rep = /\d+/;
> rep.test("name89age")  // 默认:只要内部包含就返回true
true
> rep = /^\d+$/;		 // ^开始符号,$结束符号
> rep.test("name89fgf")
false

2、exec()

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

  • 非全局模式
> var text = "JavaScript is more fun than Java or JavaBeans!";
> var pattern = /\bJava\w*\b/;          // 默认只拿第一个
> result = pattern.exec(text)
["JavaScript"]
> var pattern = /\b(Java)\w*\b/;        // () 分组匹配
> result = pattern.exec(text)
["JavaScript", "Java"]
// 注意:第一个元素是第一个匹配的结果,后面元素是正则子匹配(正则内容分组匹配)
  • 全局模式

需要反复调用exec方法,来一个一个获取结果,直到匹配获取结果为null表示获取完毕

var pattern = /\bJava\w*\b/g;   // 加g,反复执行exec,一个一个匹配结果
var text = "JavaScript is more fun than Java or JavaBeans!";
result = pattern.exec(text)

var pattern = /\b(Java)\w*\b/g; // 分组匹配(匹配结果再匹配)
var text = "JavaScript is more fun than Java or JavaBeans!";
result = pattern.exec(text)

3、compile()

compile() 方法用于改变 正则表达式对象。

compile() 既可以改变检索模式,也可以添加或删除第二个参数。

例子:

patt1 = new RegExp("e");
patt1.test("The best things in life are free");
patt1.compile("d");
patt1.test("The best things in life are free");

由于字符串中存在 “e”,而没有 “d”,以上代码的输出是:

true
false

三、表单验证-示例

1、知识点回顾

  • Dom和jQuery方式绑定事件,获取函数返回值
<body>
    <!--Dom方式:onclick里需要加return-->
    <a onclick="return ClickOn()"  href="http://blog.csdn.net/fgf00">走你1</a>
    <!--jQuery方式:-->
    <a id="i1" href="http://blog.csdn.net/fgf00">走你2</a>
    <script src="jquery-1.12.4.js"></script>
    <script>
        // Dom方式:
        function ClickOn() {
            alert(123);
            return true;  // true:执行后面操作,dom绑定里需要加return
        }
        // jQuery方式:
        $('#i1').click(function () {
            alert(456);
            return false;  // false:不执行后面操作
        })
    </script>
</body>
  • 事件优先级

比如a标签等一些标签,默认就有绑定事件,再给添加一个自定义事件,哪个先执行?

# 默认事件先执行:
    checkbox(复选框)
# 自定义事件先执行
    a
    submit
    ...

2、表单验证

为了防止用户点一次,就往数据库发送一次连接请求,对于一些简单的比如文本格式、长度等,在浏览器上给拦截了,是不是就可以了。

对一部分检测的功能,放到前端上面做,用js实现。但是要知道,浏览器上的js是可以被禁用的。

一般情况下,对于用户的验证,前端写一套基本验证、后端也写一套完全验证,针对所有用户。

表单认证代码示例地址

四、HTML 模板组件

1、介绍

  • BootStrap (最好看的)

    • css
    • js
    • [x] 学习 BootStrap 规则
  • jQueryUI (美观一般,偏后台。*)

    • css
    • js
    • [x] 学习 jQueryUI 规则
  • EasyUI (html框架和生成的效果不一样,有时需要修改css、js,代价大一点)

    • css
    • js
    • [x] 学习jQueryUI 规则

**总结:**jQueryUI和EasyUI 用在后台管理偏多,Bootstrap 后台主页显示都可以用。

可以直接用模板,不用重复造轮子

2、BootStrap

  • 响应式布局(响应式页面)

面对不同分辨率设备灵活性强,能够快捷解决多设备显示适应问题。比如网页随着窗口大小的变化而显示不同的样式。

BootStrap css里面存在大量的响应式布局。

<head>
    <style>
        .c1{
            background-color: red;
            height: 50px;
        }
        @media (min-width: 900px){
            .c2{
                background-color: grey;
            }
        }
    </style>
</head>
<body>
    <div class="c1 c2"></div>
</body>
  • 图标、字体 @font-face

BootStrap 里面有图标,但是没有图片,里面的图标是基于字体做的。

在 dist/fonts/ 目录里面。每个图标都有绑定的位置。比如 ”content: “\2212”“

使用的时候直接写上图标样式就可以了。

  • 基本使用

修改BootStrap里面的样式时,注意样式有优先级的,下面的生效。更方便的,设置为最优先,最重要的。

.no-radius{
    border-radius: 0 !important;    /*优先级最高,最重要的*/
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="bootstrap-3.3.0-dist/dist/css/bootstrap.css">
    <link rel="stylesheet" href="bootstrap-3.3.0-dist/dist/css/bootstrap-theme.css">
    <style>
        .no-radius{
            border-radius: 0 !important;    /*优先级最高,最重要的*/
        }
    </style>
</head>
<body>
    <span class="glyphicon glyphicon-plus-sign"></span>

    <script src="jquery-1.12.4.js"></script>
    <script src="bootstrap-3.3.0-dist/dist/js/bootstrap.js"></script>
</body>
</html>

3、插件实现轮播图(bxSlider)

bxslider.com 下载插件,网站上有使用教程。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="jquery.bxslider/jquery.bxslider.css">
</head>
<body>
    <ul class="bxslider">
        <li><img src="images/1.jpg" /></li>
        <li><img src="images/2.jpg" /></li>
        <li><img src="images/3.jpg" /></li>
        <li><img src="images/4.jpg" /></li>
    </ul>

    <script src="jquery-1.12.4.js"></script>
    <script src="jquery.bxslider/jquery.bxslider.js"></script>
    <script>
        $(document).ready(function(){
            $('.bxslider').bxSlider();
        });
    </script>
</body>
</html>

转载请务必保留此出处:http://blog.csdn.net/fgf00/article/details/53509386

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值