例:输入空格给出提示
代码如下 |
复制代码 |
//验证内容是否包含空格
function checkTextSpace(obj,temp){
var reg=/(^s+)|(s+$)/g;
var alertValue="输入内容包含空格,请出新输入!";
//temp用来标识内容是否允许存在空格1为可存在0为不存在
if(temp==1){
reg=/(^s{5,})|(s{5,}$)|(s{5,})/g;
alertValue="内容中连续输入空格数超过5个,请重新输入!";
}
if(reg.test(obj.value)){
alert(alertValue);
obj.focus();
return false;
}
}
|
其它删除不同位置空格的方法
1.消除字符串左边的空格
代码如下 |
复制代码 |
function leftTrim(str){
return str.replace(/^s*/,"");//^符号表示从开头即左边进行匹配
}
//alert("111"+leftTrim(" aaa ")+"111");//两边的111作为参考,判断空格是否被删除
|
2.消除字符串右边的空格
代码如下 |
复制代码 |
function rightTrim(str){
return str.replace(/s*$/,"");
}
//alert("111"+rightTrim(" aaa ")+"111");//两边的111作为参考,判断空格是否被删除
|
3.消除字符串两边的空格
代码如下 |
复制代码 |
function trim(str){
return str.replace(/(^s*)|(s*$)/g,"");
}
//alert("111"+trim(" aaa ")+"111");//两边的111作为参考,判断空格是否被删除
|
当然为了方便,我们还可以对字符串中的功能进行拓展
代码如下 |
复制代码 |
String.prototype.trim = function(){
return trim(this);
}
var str = " aaa ";
alert("111"+str.trim()+"111");//两边的111作为参考,判断空格是否被删除
|
完整实例
代码如下 |
复制代码 |
<script type="text/javascript" language="javascript">
var s = " fOo bar ";
for(var index = 0; index < s.length; index++){
alert(s.charCodeAt(index));
alert(s.charAt(index));
}
//把左边的空格删除
function ltrim(s){
var flg = 0;
var lstr = '';
while(s.charCodeAt(flg) == 32 )flg++;
alert(flg);
for(var index = 0; index < s.length - flg; index++)
lstr+= s.charAt(flg+index);
return lstr;
}
//把右边的空格删除
function rtrim(s){
var flg = 0;
var rstr = '';
var strLength = s.length;
while( s.charAt(strLength-1-flg) == ' ')flg++;
for(var index = 0; index < s.length - flg; index++)
rstr+= s.charAt(index);
return rstr;
}
//利用正则表达式删除空格
function replaceSpace(str){
return str.replace(/s/g,'');
}
//删除所有空格
function removeAllSpace(str){
var localString = '';
for(var index = 0; index<str.length; index++)
if(str.charCodeAt(index)!= 32){
localString += str.charAt(index);
};
return localString;
}
</script>
|
^匹配字符串的开始
$匹配字符串的结束
/s匹配任意空白字符
/(^s+)|(s+$)/g 这个正则就是匹配内容中是否包含空格,不管前后还是中间,都能匹配到
/(^s{5,})|(s{5,}$)|(s{5,})/g 这个正则是我做另一个验证改的,主要是匹配连续输入空格数
s{5,} 这个代表匹配5次或者更多次
s* 这个代表重复0次或者更多次
s+这个代表重复1次或者更多次
s?这个代表重复0次或者1次 |