3月21日
正则表达式 javascript
功能:验证 搜索 匹配 替换 表达式
var reg=/a/;
reg.test('sdasdasdasd')为TRUE或者FALSE 如果下面的字符中含有上面的字符,返回TRUE
var re=new RegExp("abc");
alert(re.test("abc"))
标志位
var reg=/a/是区分大小写的
var reg=/a/i 这样就不区分了 主要在这个i
var reg=/^abc/ 必须以abc开头
var reg=/abc$/ 以abc结尾
var reg=/\s/ 包括任何空白符,包括空格,制表符,换页符等
var reg=/^[a-z]/i 开始为字母 不区分大小写
var reg=/[0-9a-zA-Z]/ 检验一个字符是否符合[]内要求
var reg=/\w\d/ \w为字母 \d为数字
var reg=/^[\w\d]{6,8}$/ 严格规定位数为6到8位
数量词 除了{1,5} 等还有 +至少一个
*至少包含0个
? 0次到一次
值得注意的是若直接写/[a-z]?/ 一次或0次 若出现2两次也为TRUE 因为包含关系 若要严格加^$
若要用多个连续的情况 每个后面最好都标上数量词
/^\w+\s*(\d+\.\d+)?$/ ()括号内成组出现,要么一起出现,要么都不出现
匹配分为 贪婪匹配(从尾开始全都匹配) 惰性匹配(从头开始匹配一个就停止)
分组分为 捕获性匹配(全都捕获到) 非捕获性分组(捕获到一点就停止)
str.replace(/\s/,"#"); 替换第一个,replace第一个参数可以是正则表达式
str.replace(/\s/g,"#"); 全局都替换
DOM
getElementsByName() getElementsByTagName() Elements带s
若有多个 以数组形式来取
甚至可以document.getElementById("form1").getElementByTagName("input");
事件 onClick onsubmit onBlur
结点分为元素结点(标签结点) 文本结点(输入的文本也叫结点)
控件.firstChild(lastChild).nodeValue(nodeType);
header.previousSibling.nodeType; 上一个兄弟
header.nextSibling.nodeValue; 下一个兄弟
var something=控件.childNodes; something.length;
标签结点的value是null 其显示的内容用innerHTML
创建一个标签结点p= document.createElement("p");
创建一个文本结点 txt=document.createTextNode("新节点内容");
把一个结点作为子节点附加到另一个结点上 p.appendChild(txt);
要想显示出来 要附加到已经显示出来的结点上比如 p1.appendChild(p);
删除节点 removeChild(p1) 因为是removeChild 所以必须经过父节点调用
p1.parentNode.removeChild(p1);
或者直接把结点为空 p1=null;
克隆结点 克隆是复制一切,包括ID...
var p2=p1.cloneNode(true);
document.body.appendChild(p2);
document.input1;
var opt=document.createElement("option") //最通用的添加选项方式
opt.setAttribute("value","B3");
opt.appendChild(document.createTextNode("上海"));
fm.city.appendChild(opt);
var op=new Option("新内容","C3");
fm.city.add(op,null);//FF有效 fm.city.add(op)//IE有效
window.οnlοad=function list(){} onload都小写
city.options.length;表示选项的个数
一下删掉所有的option
formabc.city.options.length = 0;直接有效
正则表达式 javascript
功能:验证 搜索 匹配 替换 表达式
var reg=/a/;
reg.test('sdasdasdasd')为TRUE或者FALSE 如果下面的字符中含有上面的字符,返回TRUE
var re=new RegExp("abc");
alert(re.test("abc"))
标志位
var reg=/a/是区分大小写的
var reg=/a/i 这样就不区分了 主要在这个i
var reg=/^abc/ 必须以abc开头
var reg=/abc$/ 以abc结尾
var reg=/\s/ 包括任何空白符,包括空格,制表符,换页符等
var reg=/^[a-z]/i 开始为字母 不区分大小写
var reg=/[0-9a-zA-Z]/ 检验一个字符是否符合[]内要求
var reg=/\w\d/ \w为字母 \d为数字
var reg=/^[\w\d]{6,8}$/ 严格规定位数为6到8位
数量词 除了{1,5} 等还有 +至少一个
*至少包含0个
? 0次到一次
值得注意的是若直接写/[a-z]?/ 一次或0次 若出现2两次也为TRUE 因为包含关系 若要严格加^$
若要用多个连续的情况 每个后面最好都标上数量词
/^\w+\s*(\d+\.\d+)?$/ ()括号内成组出现,要么一起出现,要么都不出现
匹配分为 贪婪匹配(从尾开始全都匹配) 惰性匹配(从头开始匹配一个就停止)
分组分为 捕获性匹配(全都捕获到) 非捕获性分组(捕获到一点就停止)
str.replace(/\s/,"#"); 替换第一个,replace第一个参数可以是正则表达式
str.replace(/\s/g,"#"); 全局都替换
DOM
getElementsByName() getElementsByTagName() Elements带s
若有多个 以数组形式来取
甚至可以document.getElementById("form1").getElementByTagName("input");
事件 onClick onsubmit onBlur
结点分为元素结点(标签结点) 文本结点(输入的文本也叫结点)
控件.firstChild(lastChild).nodeValue(nodeType);
header.previousSibling.nodeType; 上一个兄弟
header.nextSibling.nodeValue; 下一个兄弟
var something=控件.childNodes; something.length;
标签结点的value是null 其显示的内容用innerHTML
创建一个标签结点p= document.createElement("p");
创建一个文本结点 txt=document.createTextNode("新节点内容");
把一个结点作为子节点附加到另一个结点上 p.appendChild(txt);
要想显示出来 要附加到已经显示出来的结点上比如 p1.appendChild(p);
删除节点 removeChild(p1) 因为是removeChild 所以必须经过父节点调用
p1.parentNode.removeChild(p1);
或者直接把结点为空 p1=null;
克隆结点 克隆是复制一切,包括ID...
var p2=p1.cloneNode(true);
document.body.appendChild(p2);
document.input1;
var opt=document.createElement("option") //最通用的添加选项方式
opt.setAttribute("value","B3");
opt.appendChild(document.createTextNode("上海"));
fm.city.appendChild(opt);
var op=new Option("新内容","C3");
fm.city.add(op,null);//FF有效 fm.city.add(op)//IE有效
window.οnlοad=function list(){} onload都小写
city.options.length;表示选项的个数
一下删掉所有的option
formabc.city.options.length = 0;直接有效