第一种非常高效的原生方法:
<html>
<head>
<script type = "text/javascript">
// prototype trim method ,a very effective method of to trim a String
String.prototype.trim = function() {
return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
function tip(){
var tipMessage = document.getElementById("test").value;
alert(tipMessage.trim().length);
}
</script>
</head>
<body>
<input type="text" name = "test" style="width:100px">
<input type="button" οnclick="tip()" value="submit">
</body>
</html>
第二种方法更高效,直逼二进制,这不是牛人写的,这是神写的!
附上js三元运算:
var test = document.getElementById("test").value;
var flag = (test=="a")?"a":( (test=="b")?"b":(test=="c"?"c":"other"));
alert(flag);
<html>
<head>
<script type = "text/javascript">
// prototype trim method ,a very effective method of to trim a String
String.prototype.trim = function() {
var str = this,
whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
for (var i = 0,len = str.length; i < len; i++) {
if (whitespace.indexOf(str.charAt(i)) === -1) {
str = str.substring(i);
break;
}
}
for (i = str.length - 1; i >= 0; i--) {
if (whitespace.indexOf(str.charAt(i)) === -1) {
str = str.substring(0, i + 1);
break;
}
}
return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}
function tip(){
var tipMessage = document.getElementById("test").value;
alert(tipMessage.trim().length);
}
</script>
</head>
<body>
<input type="text" name = "test" style="width:100px">
<input type="button" οnclick="tip()" value="submit">
</body>
</html>