var str = "任意 字符串";
if (strindexOf(" ") == -1) {
alert("没有空格");
} else {
alert("有空格");
}
取出两个undefined是因为在ff中,会将元素内的换行当成一个空的文本节点来处理。
有两种办法可以忽略掉空的文本节点:
第一种,根据nodeType过滤掉空文本节点:
function getFirstChild(parent) {if(parent && parentnodeType == '1') {
var node = parentfirstChild;
while(nodenodeType != 1) {
node = nodenextSibling;
}
return node;
}
}
第二种办法,用children[0]获取第一个节点,比如:
<div id="c">
<span>first span</span>
</div>
documentgetElementById('c')children[0]取到的就是第一个span。
另外,children在IE中会将注释当作节点包含在内,需要注意一下,比如下面这种结构:
<div id="c">
<!-- this is comment -->
<span>Span<span>
</div>
在IE中使用documentgetElementById('c')children[0],获取到的是<!-- this is comment -->,而不是<span>Span</span>。
nodeType返回值代表的含义:
返回值 节点类型
1 Element 元素节点
2 Attr 属性节点
3 Text 文本节点
4 CDATASection <![CDATA[]]>
5 EntityReference 文档中的实体引用部分
6 Entity 文档中的实体
7 ProcessingInstruction 处理指令
8 Comment 注释
9 Document 整个文档(文档根节点)
10 DocumentType 向为文档定义的实体提供接口
11 DocumentFragment 轻量级的 Document 对象,能够容纳文档的某个部分
12 Notation 代表 DTD 中声明的符号
各类节点的子节点:
节点类型 子节点类型
1 1、3、4、5、7、8
2 3、5
3 无子节点
4 无子节点
5 1、3、4、5、7、8
6 1、3、4、5、7、8
7 无子节点
8 无子节点
9 1、7、8、10
10 无子节点
11 1、3、4、5、7、8
12 无子节点
它叫不换行空格。
全称No-Break Space,它是最常见和我们使用最多的空格,它是按下space键产生的空格。在HTML中,如果你用空格键产生此空格,空格是不会累加的,要使用html实体表示才可累加,该空格占据宽度受字体影响明显而强烈。
匹配字母、数字和空格的正则表达式如下:
^[A-Za-z0-9 ]\b$正则表达式作为功能强大的字符处理引擎,最常见的就是匹配字母、数字类的表格式,常见的表达式写法,是用 [] (方括号)来指定多个字符区间,例如正则表达式[A-Za-z]匹配任何字母(大写和小写)、[0-9]匹配数字等等。
简单来说,将你需要的字符(比如空格)添加进方括号中就可以了。
HTML中默认会忽略多个空格符,值保留一个。如果需要在页面上显示多个空格符,需要用空格符对应的实体(& nbsp;)来代替;(&和nbsp;之间的空格在使用时需要去掉)
以上就是关于js怎么验证字符串中是否有空格全部的内容,包括:js怎么验证字符串中是否有空格、如何用js去除元素之间的空格、jsp页面js取值多一个空格等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)