正则表达式字符替换空间
问题描述:
我有每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日信中输入该用户的空间,而不是应该由空间
答
制作更换后强制空间的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
你真的想替换第27个字母还是要在它之前插入一个空格? – Thorbear 2012-07-18 11:33:54
每26个字母后意味着如果不是第27个字符应换成空格 – user1514793 2012-07-18 11:34:51