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