一. 网上抄了一段common.js,但是运行好像错误?
function LTrim(str) {
var whitespace = new String("\t\n\r");
var s = new String(str);
if (whitespace.indexOf(s.charAt(0)) != -1) {
var j = 0,
i = s.length;
while (j < i && whitespace.indexOf(s.charAt(j)) != -1) { j++;
} s = s.substring(j, i);
}
return s;
}
/*
2.RTrim(string):去除右边的空格
*/
function RTrim(str) {
var whitespace = new String("\t\n\r");
var s = new String(str);
if (whitespace.indexOf(s.charAt(s.length - 1)) != -1) {
var i = s.length - 1;
while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1) { i--;
} s = s.substring(0, i + 1);
}
return s;
}
/*
3.Trim(string):去除前后空格
*/
function Trim(str) {
return RTrim(LTrim(str));
}
/*
XMLEncode(string):对字符串进行XML编码
*/
function XMLEncode(str) {
str = Trim(str); str = str.replace("&", "&"); str = str.replace("<", "<"); str = str.replace(">", ">"); str = str.replace("'", "'"); str = str.replace("\"", """);
return str;
}
/*
验证类函数
*/
function IsEmpty(obj) {
obj = document.getElementsByName(obj).item(0);
if (Trim(obj.value) == "") {
alert("字段不能为空。");
if (obj.disabled == false && obj.readOnly == false) {
obj.focus();
}
}
}
/*
IsInt(string,string,intorstring):(测试字符串,+or-orempty,emptyor0)
功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0
*/
function IsInt(objStr, sign, zero) {
var reg;
var bolzero;
if (Trim(objStr) == "") {
return false;
} else { objStr = objStr.toString();
}
if ((sign == null) || (Trim(sign) == "")) {
sign = "+-";
}
if ((zero == null) || (Trim(zero) == "")) {
bolzero = false;
} else {
zero = zero.toString();
if (zero == "0") {
bolzero = true;
} else {
alert("检查是否包含0参数,只可为(空、0)");
}
}
switch (sign) {
case "+-":
//整数
reg = /(^-?|^\+?)\d+$/;
break;
case "+":
if (!bolzero) {
//正整数
reg = /^\+?[0-9]*[1-9][0-9]*$/;
}
else {
//正整数+0
reg=/^\+?\d+$/;
reg = /^\+?[0-9]*[0-9][0-9]*$/;
}
break;
case "-":
if (!bolzero) {
//负整数
reg = /^-[0-9]*[1-9][0-9]*$/;
}
else {
//负整数+0
//
reg = /^-\d+$/;
reg = /^-[0-9]*[0-9][0-9]*$/;
}
break;
default:
alert("检查符号参数,只可为(空、+、-)");
return false;
break;
}
var r = objStr.match(reg);
if (r == null) {
return false;
}
else {
return true;
}
}
/*
IsFloat(string,string,intorstring):(测试字符串,+or-orempty,emptyor0)
功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
*/
function IsFloat(objStr, sign, zero) {
var reg;
var bolzero;
if (Trim(objStr) == "") {
return false;
}
else {
objStr = objStr.toString();
}
if ((sign == null) || (Trim(sign) == "")) {
sign = "+-";
}
if ((zero == null) || (Trim(zero) == "")) {
bolzero = false;
}
else {
zero = zero.toString();
if (zero == "0") {
bolzero = true;
}
else {
alert("检查是否包含0参数,只可为(空、0)");
}
}
switch (sign) {
case "+-":
//浮点数
reg = /^((-?|\+?)\d+)(\.\d+)?$/;
break;
case "+":
if (!bolzero) {
//正浮点数
reg = /^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else {
//正浮点数+0
reg = /^\+?\d+(\.\d+)?$/;
}
break;
case "-":
if (!bolzero) {
//负浮点数
reg = /^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else {
//负浮点数+0
reg = /^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
}
break;
default:
alert("检查符号参数,只可为(空、+、-)");
return false;
break;
}
var r = objStr.match(reg);
if (r == null) {
return false;
}
else {
return true;
}
};
var str11 = " bi gShi t "; alert(Trim(str11)); //还是弹出" bi gShi t "! ?
我想newString应该不是个方法而是 new String(...) 是实例化一个String对象吧
如果这样修改下应该可以正常工作了
是的。复制粘贴时格式问题。但Trim(str);好像失效。。
@Coca-code:
你的代码量太多了,但是如果只是一个简单的trim的函数的实现,我给你个prototypejs的实现吧,你可以参考下,或者去看看prototypejs的源码
function trim(str){ return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,''); }
通过正则表达式其实很容易实现的一个trim函数功能的
@visonme:
哎,现在精简通用的js hack代码那找~
@Coca-code: 还有要提醒下,你这个是剔除左右空格的,对于字符串中间的空格是不会起任何作用的
@visonme:
function trim(str){
return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,'');
};
var myStr = "a pple ";
alert(trim(myStr)); //好像没用。。?
@visonme: 还是我自己想想吧。。
newString 是一个方法吧? 你这个JS里面就没有newString这个方法,当然是defined了。
当然,英文我还是知道的。
问题改了,之前问题是格式问题,把new String();粘贴成了newString();
。。。