javascript正则表达式短信字符数

时间:2014-08-12 03:39:29

标签: javascript regex

我正在编写一个javascript来计算textarea中的sms字符。我想把几个字符算作两个字符,例如{} \ | []€^将新行包含为两个字符。我把它们写成了一个正则表达式。请参阅下面的代码。

ExChar = "\\^{}\\\\\\[~\\]|€\r\n"; 
ExCharRegExp = RegExp("^[\\" + ExChar + "]*$");

但是当我执行代码时,当我有换行/回车时它似乎不起作用它仍然算作一个字符。我可以知道我的代码有什么问题吗?正如我所说的那样

Regex to match carriage return in Javascript第二个答案谈论如何匹配\ r \ n

希望你们能帮助我。

1 个答案:

答案 0 :(得分:0)

你的错误不在于你正在阅读的答案。

它将正则表达式定义为正则表达式文字/^[\r\n ]+$/,您可以从字符串文字定义正则表达式。

不同之处在于需要逃避\。对于您的情况,您应该写\\r\\n

但是,根据您处理比赛的方式,您可能仍会遇到麻烦。

这是因为\r\n匹配两个单独的字符。回车和换行 - 这是打字机时代的遗产。

根据系统的不同,实际换行可以表示为回车后跟换行符,换行符后跟回车符或仅换行符。