JS怎么判断输入框输入的内容全部为空(包括换行)?
我在页面上引用了HtmlEditor文本编辑器,代码如下:
<textarea name="content" id="content" style="display:none" rows="" cols="" ></textarea>
<iframe id="iframeEditor" name="iframeEditor" style="width: 98%; height: 100%;" src="${ctx}/plugins/editor/index.html?ID=content" frameborder="0" scrolling="no"></iframe>
我取content里面的内容JS如下:
var content = window.frames['iframeEditor'].window.frames['HtmlEditor'].document.getElementsByTagName('BODY')[0].innerHTML;
问题:
要实现功能,在提交之前判断输入框内容是否全部为空(包括换行)
1、当用户刚跳转到文本编辑器的页面,不在输入框里输入任何内容,提交时用以上js得到的content为空
但当用户输入多个空格时(点击多次空格键)alert(content)得到的结果为 (多个 ),
请问怎么样判断用户输入的内容全部为空格(包括换行)?
2、当用户跳转到编辑器页面,在输入框里输入内容,然后再清除,再输入多个空格时,alert(content)得到的结果为
<p> </p>( 点击多少次空格键就有多少个),
这时怎么判断用户输入内容全部为空(包括换行)?
上面问题补充,如果用户输入的内容中包含有空格,比如输入abcde,在d后面输入了空格,alert(content)结果为abcd e
同样输入后再清除再输入相同的字符串alert的结果为<p>abcd e</p>这种情况下,不要把中间的空格过滤。
以上用js怎么判断?
希望大家都来关注一下!谢谢
------解决方案--------------------
正则嘛
replace(/<p>[ ]*<\/p>/g,"")
编辑器里的换行貌似就是2个P标签吧。
------解决方案--------------------
也不一定就是<p>的事 如果他用编辑器弄了个<font></font>呢 肯定也算是空吧
所以/^(<[^><]+>|\s| )+$/
如果匹配 则说明是空
------解决方案--------------------
去网上查询一些过滤HTML标签的正则表达式 然后你自己可以封装起来 以后就方便多了
------解决方案--------------------
var _FUN_TRIM=function(a){return a.replace(/^\s+|\s+$/g,"")};
------解决方案--------------------
要是用户弄了1个img标签进去呢,那样把html标签都去掉就不行了
因用户输入内容再删除,会自动加<p>,所以我觉得只要考虑加<p>的就可以了
if(/^(<p>|</p>|\s| )+$/i.test(content)){
alert("内容不能为空");
return false;
}