关闭

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

360人阅读 评论(0) 收藏 举报

---------------------- 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 onkeydown="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" onblur="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培训、期待与您交流! ----------------------

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4232次
    • 积分:164
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档