正则表达式字符替换空间

正则表达式字符替换空间

问题描述:

我有每26个字母正则表达式字符替换空间

function nospaces(t)  
{ 
    if(t.value.match(/\S{27}/g)) 
    {  
     //alert('Sorry, you can not enter a word more than 26 characters long'); 
     t.value[5]=t.value.replace(/\S{27}/g,''); 
    } 
} 

现在我想,每27日信中输入该用户的空间,而不是应该由空间

+1

你真的想替换第27个字母还是要在它之前插入一个空格? – Thorbear 2012-07-18 11:33:54

+0

每26个字母后意味着如果不是第27个字符应换成空格 – user1514793 2012-07-18 11:34:51

制作更换后强制空间的javascript函数智能使用正则表达式组,如果\S{26}后跟一个\S则替换整个比赛中的第一个组,后跟一个空格;

var foo = 'abcdefghijklmnopqrstuvwxyzab'.replace(/(\S{26})(\S)/, '$1 '); 给出: abcdefghijklmnopqrstuvwxyz b

你可以做这样的事情:

var string = 'abcdefghijklmnopqrstuvwxyz0abcdefghijklmnopqrstuvwxyz0hjh...'; 
// 0 is 27th 
string = string.replace(/(\S{26})\S/g, '$1 '); 

我不知道这是否是最好的做法,但它的工作原理。

function nospaces(t)  
{ 
    return t.replace(/\S{27}(?=\S)/g, '$& '); 
} 

要如果该序列被随后的非空白字符具有27个字符后跟一个空格的序列替换的27个字符的序列。

+0

谢谢大家,非常感谢 – user1514793 2012-07-18 12:03:24