A-A+
js正则删除字符串左、右或两端的空格
本文章给大家总结关于利用正则表达式来删除字符串中所左边与右边的空格方法,有需要了解的朋友可参考。
例:输入空格给出提示,代码如下:
- //验证内容是否包含空格
- 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个,请重新输入!";
- }//xiariboke.net
- 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);
- }; //xiariboke.net
- return localString;
- }
- </script>
^匹配字符串的开始
$匹配字符串的结束
/s匹配任意空白字符
/(^s+)|(s+$)/g 这个正则就是匹配内容中是否包含空格,不管前后还是中间,都能匹配到.
/(^s{5,})|(s{5,}$)|(s{5,})/g 这个正则是我做另一个验证改的,主要是匹配连续输入空格数.
s{5,} 这个代表匹配5次或者更多次
s* 这个代表重复0次或者更多次
s+这个代表重复1次或者更多次
s?这个代表重复0次或者1次