黑马自学_DOM_5(正则表达式、ASCII码说明)

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

 

弹出模态对话框:window.showModalDialog("dialog.htm");

给对话框传递参数:使用showModalDialog的第二个参数传递参数(传递多个参数则传入一个数组),在对话框中用window.dialogArguments获得传递的参数值;

                                    对话框中给window.parent.returnValue设定返回值,这样在父窗体中通过showModalDialog返回值读取设置的返回值。

 

正则表达式:

JavaScript中创建正则表达式的方法:var regex=new RegExp("\\d{5}") 或者 var regex=/\d{5}/ 这样不用考虑转义符了。

RegExp对象的方法:

(1)test(str)判断字符串str是否符合正则表达式,相当于IsMatch

(2)exec(str)进行搜索匹配,返回值为匹配结果。

(3)compile编译表达式,提高运行速度。

 

ASCII吗说明:

8:退格

46:delete

37-40:方向键

48-57:小键盘上的数字

96-105:主键盘上的数字

110、190:小键盘、主键盘的小数点

189、109:小键盘、主键盘的负号

13:回车

9:tab键

禁止输入非法值,只有这些键才能被键入:

(k==46)||(k==9)||(k==13)||(k==8)||(k==189)||(k==109)||(k==190)||(k==110)||(k>=48&&k<=57)||(k>=96&&k<=105)||(k>=37&&k<=40)

回车键实现tab功能:<body οnkeydοwn="if(window.event.keyCode==13){window.event.keyCode=96}">

禁止输入法:style="ime-mode:disabled"

 

练习一:鼠标所在的行字体变大,背景变红。其他的恢复正常

<script type="text/javascript">
    function iniULonmouseover() {
        var lis = document.getElementsByTagName("li");
        for (var i = 0; i < lis.length; i++) {
            lis[i].style.cursor = "pointer";
            lis[i].onmouseover = function () {
                var lis = document.getElementsByTagName("li");
                for (var i = 0; i < lis.length; i++) {
                    if (lis[i] == this) {
                        this.style.fontSize = "30";
                        this.style.backgroundColor = "red";
                    }
                    else {
                        lis[i].style.fontSize = "16";
                        lis[i].style.backgroundColor = "white";
                    }
                }
            }
        }
    }
</script>
<ul><li>中国队</li><li>美国队</li><li>巴西队</li><li>英国队</li><li>德国队</li></ul>

 

练习二:正则表达式验证邮箱合法性。邮箱不合法,登陆按钮不可用。

<script type="text/javascript">
    function regexTest(reTxt) {
        var regex = /.+@.+.+com/;                                                        正则表达式
        var regexTxt = reTxt.value;
        var btnload = document.getElementById("btnload");
        if (regex.test(regexTxt)) {
            reTxt.style.backgroundColor = "white";
            btnLoad.disabled = "";
        }
        else {
            reTxt.style.backgroundColor = "red";
            btnLoad.disabled = "disabled";
        }
    }
</script>
<input id="regexTxt" type="text" οnblur="regexTest(this)" /><input id="btnLoad" type="button" value="登陆" />

 

练习三:添加千分位。

    function commafy(n) {                  //添加千分位
        var re = /(\d{1,3})(?=(\d{3})+(?:$|\.))/g;
        var n1 = n.replace(re, "$1,");
        return n1;
    }

    function legalCode(k){                       //判断ascii码是否是合法的
        return ((k == 13) || (k == 46) || (k == 8) || (k == 9) || (k == 189) || (k == 109) || (k == 190) || (k == 110) || (k >= 48 && k <= 57) || (k >= 96 && k <= 105) || (k >= 37 && k <= 40));
    }
    function mypaste() {                                //禁止粘贴非数字内容
        var textdata = clipboardData.getData("Text");
        for (var i = 0; i < textdata.length; i++) {
            var asc = textdata.charCodeAt(i) //获取ascii码
            if (!legalCode(asc)) {
                return false;
            }
        }
    }

 

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值