javascript 空格怎么去除空格

javascript去除字符串中出现空格的函数
javascript去除字符串中出现空格的函数
  因为写了一个javascript的购物车程序,中间用到java对购物车内的字符串进行处理(修改数量、和删除物品)时用到,出现了一个小bug
  后分析原因,原来是商品名称中含有一些空格,没有加以处理,所以就诞生了下面的字符串中的空格处理函数,估计会经常用到,所以这里备份一下,分享一下:
  //去除头部和尾部空格&&
function trim(jia) {&&&
&&& return jia.replace(/(^\s*)|(\s*$)/g, &&);&&&
//去除头部空格&&&&
function ltrim(jia) {&&
&&& return jia.replace(/(^\s*)/g, &&);&&
//去除尾部空格&&
function rtrim(jia) {&&&
&&& return jia.replace(/(\s*$)/g, &&);&&&
//去除头尾和中间空格,制表符&&
function trimSpaces(Str){&&&&&&
&&&&&&& var ResultStr = &&;&&&&&&
&&&&&&& Temp=Str.split(/\s/);&&&&&&&
&&&&&&& for(i = 0; i & Temp. i++)&&&&&&
&&&&&&&&&&& ResultStr +=Temp[i];&&&&&&
&&&&&&& return ResultS
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
职称考试题目
招生信息考研政治
网络安全安全设置工具使用手机安全
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&javascript去掉前后空格的实例
投稿:zxhpj
字体:[ ] 类型:转载 时间:
在js中去除空格并不是可以直接使用trim来删除,它在js中并不像我们想的那么好用,特别像我要删除前后空格这个trim函数更不可靠了
function String.prototype.Trim() { return this.replace(/(^/s*)|(/s*$)/g, ""); }&& // 去掉左右空格
function String.prototype.Ltrim() { return this.replace(/(^/s*)/g, ""); }&&&&&&&&&&& // 去掉左空格
function String.prototype.Rtrim() { return this.replace(/(/s*$)/g, ""); }&&&&&&&&&&& // 去掉右空格
&script type="text/javascript"&
   function trim(str){ //删除左右两端的空格
return str.replace(/(^s*)|(s*$)/g, "");
   function ltrim(str){ //删除左边的空格
return str.replace(/(^s*)/g,"");
   function rtrim(str){ //删除右边的空格
return str.replace(/(s*$)/g,"");
去除所有空格
&SCRIPT LANGUAGE="JavaScript"&
String.prototype.Trim = function()
return this.replace(/(^s*)|(s*$)/g, "");
String.prototype.LTrim = function()
return this.replace(/(^s*)/g, "");
String.prototype.RTrim = function()
return this.replace(/(s*$)/g, "");
JS 去字符串空格 总结
str为要去除空格的字符串:
去除所有空格:
str = str.replace(/\s+/g,"");
去除两头空格:
str = str.replace(/^\s+|\s+$/g,"");
去除左空格:
str=str.replace( /^\s*/, '');
去除右空格:
str=str.replace(/(\s*$)/g, "");
&SCRIPT LANGUAGE="JavaScript"&
//出处:网上搜集
// Trim() , Ltrim() , RTrim()
String.prototype.Trim = function()
returnthis.replace(/(^\s*)|(\s*$)/g, "");
String.prototype.LTrim = function()
returnthis.replace(/(^\s*)/g, "");
String.prototype.RTrim = function()
returnthis.replace(/(\s*$)/g, "");
&input type="text" value="
前后都是空格
" id="space"&
&input type="button" value="去前后空格" onclick="javascript:document.getElementById('space').value=document.getElementById('space').value.Trim();document.getElementById('space').select();"&
&input type="button" value="去前空格" onclick="javascript:document.getElementById('space').value=document.getElementById('space').value.LTrim();document.getElementById('space').select();"&
&input type="button" value="去后空格" onclick="javascript:document.getElementById('space').value=document.getElementById('space').value.RTrim();document.getElementById('space').select();"&
&input type="button" value="还原" onclick="javascript:document.getElementById('space').value='
前后都是空格
去除所有空格:
str = str.replace(/\s+/g,"");
去除两头空格:
str = str.replace(/^\s+|\s+$/g,"");
去除空格(TimeSheet用过)
arg0=arg0.replace(/\s+$|^\s+/g,"");
下面来我们来看看Js脚本中"/s表示什么"
s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ fnrtv]。
&请紧记是小写的s,另外细心的朋友可能看到有时候\s+有时候是*号,大家可以看下面的解释
常用的限定符
重复零次或更多次
重复一次或更多次
重复零次或一次
重复n次或更多次
重复n到m次
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具javascript去掉空格,回车,制表位及判断空格函数
7896次浏览
记得之前做询价平台的时候,已经在文本框做了非空判断,但是测试人员在输入全交空格之后,居然提交了。为了解决这个问题,我做了去除全交半角空格的判断。时隔几年,我总结一下js的去除空格、回车、制表位的方法!
str = str.replace(/&\/?[^&]*&/g,''); //去除HTML tag
str = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
str=str.replace(/ /ig,'');//去掉
str=str.replace(/^[\s ]+|[\s ]+$/g, &&);//去掉全角半角空格
str=str.replace(/[\r\n]/g,&&);//去掉回车换行
上面的方法基本上能去除所有的空格,回车和制表位等等。
但是有时候我们需要去除左右空格,例如在搜索的时候。
去除左右空格方法:
function String.prototype.Trim() { return this.replace(/(^/s*)|(/s*$)/g, &&); }
// 去掉左右空格
function String.prototype.Ltrim() { return this.replace(/(^/s*)/g, &&); }
// 去掉左空格
function String.prototype.Rtrim() { return this.replace(/(/s*$)/g, &&); }
// 去掉右空格
javascript判断是否为空函数:
function isEmpty( val )
switch (typeof(val))
case 'string':
return trim(val).length == 0 ? true :
case 'number':
return val == 0;
case 'object':
return val ==
case 'array':
return val.length == 0;
function trim( text )
if (typeof(text) == &string&)
return text.replace(/^\s*|\s*$/g, &&);
第二个trim函数,判断是否是字符串,假如是的话,去掉字符串左右空格,如果不是字符串,原文返回!
相关文章:
关键词搜索javascript中replace字符串去除空格-js教程-网页制作-壹聚教程网javascript中replace字符串去除空格
replace可以执行正则规则来替换我们字符串中空格了,下面整理了两个常用的例子,大家一起来看看吧。
var str= str.replace(/(^\s*)|(\s*$)/g, &&);
&script type=&text/&&
function trim(str){ //删除左右两端的空格
&&& return str.replace(/(^\s*)|(\s*$)/g, &&);
function ltrim(str){ //删除左边的空格
&&& return str.replace(/(^\s*)/g,&&);
function rtrim(str){ //删除右边的空格
&&& return str.replace(/(\s*$)/g,&&);
删除前导空格
& function&& leftTrim(ui){
&&& var&& notValid=/^\s/;
&&& while(notValid.test(ui)){
&&&&& ui=ui.replace(notValid,&&);}
&&& return&&}&
删除后置空格
& function&& rightTrim(ui){
&&& var&& notValid=/\s$/;
&&& while(notValid.test(ui)){
&&&&& ui=ui.replace(notValid,&&);}
&&& return&&}&
删除所有空格
& function&& allTrim(ui){
&&& var&& notValid=/\s/;
&&& while(notValid.test(ui)){
&&&&& ui=ui.replace(notValid,&&);}
&&& return&&}&
是否包含前导空格
& function&& isLeftSpace(ui)&& {
&&&&& var&& valid=/^\s/;
&&&&& return&& (valid.test(ui));}&
是否包含后置空格
& function&& isRightSpace(ui)&& {
&&&&& var&& valid=/\s$/;
&&&&& return&& (valid.test(ui));}&
是否任何一侧包含空格
& function&& isBothSpace(ui)&& {
&&&&& var&& valid=/(^\s)|(\s$)/;
&&&&& return&& (valid.test(ui));}&
是否包含空格
& function&& isIncSpace(ui)&& {
&&&&& var&& valid=/\s/;
&&&&& return&& (valid.test(ui));}&
上一页: &&&&&下一页:相关内容trim函数大赏
服务器君一共花费了85.176 ms进行了3次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议
W3C那帮人的脑袋被驴踢了,直到javascript1.8.1才支持trim函数(与trimLeft,trimRight),可惜现在只有firefox3.5支持。由于去除字符串两边的空白实在太常用,各大类库都有它的影子。加之,外国人都很有研究精神,搞鼓了相当多实现。
String.prototype.trim = function() {
return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
看起来不怎么样,动用了两次正则替换,实际速度非常惊人,主要得益于浏览器的内部优化。一个著名的例子字符串拼接,直接相加比用Array做成的StringBuffer还快。base2类库使用这种实现。
String.prototype.trim = function() {
return this.replace(/^\s+/, '').replace(/\s+$/, '');
和实现1很相似,但稍慢一点,主要原因是它最先是假设至少存在一个空白符。Prototype.js使用这种实现,不过其名字为strip,因为Prototype的方法都是力求与Ruby同名。
String.prototype.trim = function() {
this.substring(Math.max(this.search(/\S/), 0),this.search(/\S\s*$/) + 1);
以截取方式取得空白部分(当然允许中间存在空白符),总共调用了四个原生方法。设计得非常巧妙,substring以两个数字作为参数。Math.max以两个数字作参数,search则返回一个数字。速度比上面两个慢一点,但比下面大多数都快。
String.prototype.trim = function() {
this.replace(/^\s+|\s+$/g, '');
这个可以称得上实现2的简化版,就是利用候选操作符连接两个正则。但这样做就失去了浏览器优化的机会,比不上实现3。由于看来很优雅,许多类库都使用它,如JQuery与mootools。
String.prototype.trim = function() {
str = str.match(/\S+(?:\s+\S+)*/);
return str ? str[0] : '';
match是返回一个数组,因此原字符串符合要求的部分就成为它的元素。为了防止字符串中间的空白符被排除,我们需要动用到非捕获性分组(?:exp)。由于数组可能为空,我们在后面还要做进一步的判定。好像浏览器在处理分组上比较无力,一个字慢。所以不要迷信正则,虽然它基本上是万能的。
String.prototype.trim = function() {
return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, '$1');
把符合要求的部分提供出来,放到一个空字符串中。不过效率很差,尤其是在IE6中。
String.prototype.trim = function() {
return this.replace(/^\s*(\S*(?:\s+\S+)*)\s*$/, '$1');
和实现6很相似,但用了非捕获分组进行了优点,性能效之有一点点提升。
String.prototype.trim = function() {
return this.replace(/^\s*((?:[\S\s]*\S)?)\s*$/, '$1');
沿着上面两个的思路进行改进,动用了非捕获分组与字符集合,用?顶替了*,效果非常惊人。尤其在IE6中,可以用疯狂来形容这次性能的提升,直接秒杀火狐。
String.prototype.trim = function() {
return this.replace(/^\s*([\S\s]*?)\s*$/, '$1');
这次是用懒惰匹配顶替非捕获分组,在火狐中得到改善,IE没有上次那么疯狂。
String.prototype.trim = function() {
var str = this,
whitespace = ' \n\r\t\f\x0b\xa0\u\u\u\u\u\u200a\u200b\u\u3000';
for (var i = 0,len = str. i = 0; i--) {
if (whitespace.indexOf(str.charAt(i)) === -1) {
str = str.substring(0, i + 1);
return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
我只想说,搞出这个的人已经不是用牛来形容,已是神一样的级别。它先是把可能的空白符全部列出来,在第一次遍历中砍掉前面的空白,第二次砍掉后面的空白。全过程只用了indexOf与substring这个专门为处理字符串而生的原生方法,没有使用到正则。速度快得惊人,估计直逼上内部的二进制实现,并且在IE与火狐(其他浏览器当然也毫无疑问)都有良好的表现。速度都是零毫秒级别的。
String.prototype.trim = function() {
var str = this,
str = str.replace(/^\s+/, '');
for (var i = str.length - 1; i >= 0; i--) {
if (/\S/.test(str.charAt(i))) {
str = str.substring(0, i + 1);
实现10已经告诉我们普通的原生字符串截取方法是远胜于正则替换,虽然是复杂一点。但只要正则不过于复杂,我们就可以利用浏览器对正则的优化,改善程序执行效率,如实现8在IE的表现。我想通常不会有人在项目中应用实现10,因为那个whitespace 实现太长太难记了(当然如果你在打造一个类库,它绝对是首先)。实现11可谓其改进版,前面部分的空白由正则替换负责砍掉,后面用原生方法处理,效果不逊于原版,但速度都是非常逆天。
String.prototype.trim = function() {
var str = this,
str = str.replace(/^\s\s*/, ''),
ws = /\s/,
while (ws.test(str.charAt(--i)));
return str.slice(0, i + 1);
实现10与实现11在写法上更好的改进版,注意说的不是性能速度,而是易记与使用上。和它的两个前辈都是零毫秒级别的,以后就用这个来工作与吓人。
下面是老外给出的比较结果,执行背景是对Magna Carta 这文章(超过27,600字符)进行trim操作。
本文地址:,欢迎访问原出处。
不打个分吗?
转载随意,但请带上本文地址:
如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 。
大家都在看
现代魔法研究协会欢迎你
阅读一百本计算机著作吧,少年
阿尔伯特·哈伯德(Hubbard.E.) (作者), 赵立光 (译者), 艾柯 (译者)
《致加西亚的信(经典盒装版)》内容简介:美西战争爆发以后,美国必须立即与古巴起义军首领加西亚取得联系,并获得他的合作。但当时,加西亚身在古巴的深山里——没有人知道他的确切地点,所以没法与他取得联系。这时,有人向总统推荐一个名叫罗文的人,说他有办法找到加西亚,而且也只有他才能找得到。他们找来罗文,交给他一封写给加西亚的信。三周后,罗文徒步走过一个危机四伏的国家,最终把那封信交给了加西亚。
此后,罗文的事迹被传为佳话,“送信”成为了敬业、忠诚、勤奋的象征,罗文便成了每个领导都想找到的人和每个员工都应该学习和效仿的榜样。
扫一扫,在手机上阅读
栏目最新博文
28,790 views
19,786 views
17,098 views
14,671 views
14,701 views
12,773 views
18,715 views
13,917 views
13,460 views
13,888 views
栏目博文推荐
8,455 views
6,155 views
16,103 views
5,200 views
17,098 views
3,976 views
5,702 views
4,058 views
10,143 views
5,530 views
去了解一个事物的本质,才可以征服该事物。
1,067 views
关于网站与作者
互联网信息太多太杂,各互联网公司不断推送娱乐花边新闻,SNS,微博不断转移我们的注意力。但是,我们的时间和精力却是有限的。这里是互联网浩瀚的海洋中的一座宁静与美丽的小岛,供开发者歇息与静心潜心修炼(愿景)。
“Veda”的本义是知识、启示,希望这里能为开发者提供充足的技术资料。
我的电子邮件gonnsai(,腾讯微博:,欢迎与我联系。

我要回帖

更多关于 javascript 去空格 的文章

 

随机推荐