Javascript拆分结果简化
Javascript split result simplify
有没有办法使代码更加简化?
<input type="text" id="tags" />
var splittext = document.getElementById('tags').value.split(' ');
if (document.getElementById('tags').value.split(' ').length < 2 || splittext[1] == '') {
alert("Two tags required.");
}
有其他方法制作吗
splittext[1] == ''
像
document.getElementById('tags').value.split(' ').something[1]
避免使用线路
var splittext = document.getElementById('tags').value.split(' ')
这样做的目的是,当用户输入一个标签,并在其后面设置空格时,拆分会检测到两个值,我希望避免将该空格算作另一个标签,因为这就像是作弊。
首先修剪,并在任意数量的空白字符上拆分:
if (document.getElementById('tags').value.trim( ).split(/'s+/).length < 2) {
alert("Two tags required.");
}
如果你想支持某些版本的IE,你需要创建String.trim
函数。。。但这是一个有用的功能。把它放在一个实用程序js文件中,或者放在js:的顶部
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return this.replace(/^'s+|'s+$/g, '');
}
}
您应该将代码更改为这样,以避免对同一个dom元素进行多次调用(您将同一个东西拆分两次)
var splittext = document.getElementById('tags').value.split(' ');
if (splittext.length < 2 || splittext[1] == '') {
alert("Two tags required.");
}
这就是使用变量的全部意义,以避免多次调用相同的函数(具有相同的结果)。
像这样的东西应该可以做到:
var elem=document.getElementById('tags').value;
if(elem.indexOf(' ')>-1 && elem.split(' ').length>=2) {
alert('Worked!');
} else if(!elem || elem.indexOf(' ')<0) {
alert('Two tags required.');
}
是的:
var g= document.getElementById('tags').value.split(/[ ]+/)
if (g.length==2) // ok.....
http://jsbin.com/ovibef/edit#javascript,html
相关文章:
- 奇怪的Javascript结果
- Javascript(jQuery)给了我奇怪的结果
- JSONP请求返回结果,但也触发error_callback
- 拆分单词jquery
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- webpack代码拆分了handlerbs文件——结果是文件很大
- Javascript:拆分字符串,但仅使用 1 个结果
- Ant中Javascript拆分的奇怪结果
- JavaScript 正则表达式返回拆分的结果
- 如何在从 ajax 获取时拆分结果数据
- Javascript拆分结果简化
- Javascript -根据字符拆分字符串,但将其保留在结果数组中
- 拆分字符串并遍历结果
- 如何使用拆分字符串函数的结果在Angular.js中进行排序
- 将结果拆分为字符串
- 使用JS拆分函数得到不同的RegEx结果-结果为空字符串
- 将字符串保存到变量和console.log时,拆分字符串会得到不同的结果
- JavaScript 字符串由正则表达式结果拆分,子字符串包括空切片
- 如何使用 jquery 拆分和连接字符串以获得以下结果