Javascript - 如何加入两个首字母大写的文字脚本
Javascript - How to join two capitalize first letter of word scripts
我有一个 Acrobat 表单,其中包含一些多行文本字段。我的目标是将任何句子的第一个字母(寻找点)和任何新行的第一个字母(在按下 return 之后)转换为大写。
我可以 运行 分别进行每个变换,但不知道如何 运行 将它们组合在一起。
为了将句子大写,我使用以下代码作为自定义验证:
// make an array split at dot
var aInput = event.value.split(". ");
var sCharacter = '';
var sWord='';
// for each element of word array, capitalize the first letter
for(i = 0; i <aInput.length; i++)
{
aInput[i] = aInput[i].substr(0, 1).toUpperCase() + aInput[i].substr(1) .toLowerCase();
}
// rebuild input string with modified words with dots
event.value = aInput.join('. ');
为了将新行大写,我将“.”替换为“\r”。
在此先感谢您的帮助。
你可以用RegExp得到每个句子的第一个字符:
event.value = event.value.replace(/.+?[\.\?\!](\s|$)/g, function (txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
演示:http://jsfiddle.net/00kzc370/
正则表达式解释:
/.+?[\.\?\!](\s|$)/g
是正则表达式。
.+?[\.\?\!](\s|$)
是一种模式(用于搜索),匹配以 .
、?
或 !
结尾并后跟 [=19 的句子=].
g
是修饰符。 (执行全局匹配(查找所有匹配而不是在第一个匹配后停止))。
我有一个 Acrobat 表单,其中包含一些多行文本字段。我的目标是将任何句子的第一个字母(寻找点)和任何新行的第一个字母(在按下 return 之后)转换为大写。
我可以 运行 分别进行每个变换,但不知道如何 运行 将它们组合在一起。
为了将句子大写,我使用以下代码作为自定义验证:
// make an array split at dot
var aInput = event.value.split(". ");
var sCharacter = '';
var sWord='';
// for each element of word array, capitalize the first letter
for(i = 0; i <aInput.length; i++)
{
aInput[i] = aInput[i].substr(0, 1).toUpperCase() + aInput[i].substr(1) .toLowerCase();
}
// rebuild input string with modified words with dots
event.value = aInput.join('. ');
为了将新行大写,我将“.”替换为“\r”。
在此先感谢您的帮助。
你可以用RegExp得到每个句子的第一个字符:
event.value = event.value.replace(/.+?[\.\?\!](\s|$)/g, function (txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
演示:http://jsfiddle.net/00kzc370/
正则表达式解释:
/.+?[\.\?\!](\s|$)/g
是正则表达式。.+?[\.\?\!](\s|$)
是一种模式(用于搜索),匹配以.
、?
或!
结尾并后跟 [=19 的句子=].g
是修饰符。 (执行全局匹配(查找所有匹配而不是在第一个匹配后停止))。