需要解释这个Javascript字符串资本主义原型
Need explanation of this Javascript String Capitalise Protoype
使用以下代码位:
CSS:
input {background-color:black; text-transform:capitalize;}
JS:
String.prototype.capitalize = function() {
return this.replace( /(^|'s)([a-z])/g , function(m,p1,p2){
return p1+p2.toUpperCase();
});
};
HTML:
<input type="text" id="if1" onfocus="enterInp(this.id)" onblur="exitInp(this.id)" />
我惊讶地发现,即使输入文本字段在屏幕上正确显示,它的值也没有大写,所以我想办法做到这一点;一个设施,尽管它工作得很好,但我不清楚它是如何工作的,我也找不到解释——我没有Javascript手册。
我不明白的一点是,这是一种大胆的功能。使用alert
,我发现对于每个大写的单词,m
和p2
参数包含要大写的字母,并且p1
看起来是null
。
有人能告诉我这些m
、p1
、p2
参数来自哪里,以及它们是如何设置的吗?
匿名替换函数中使用的参数来自正则表达式/(^|'s)([a-z])/g
中匹配的元素。匹配的元素位于方括号之间,p1
是一个行首或空格,p2
是一个小写字母,m
只是整个匹配的正则表达式。
该函数将连接匹配的元素,并将大写字母设置为行首或空白后面的第一个字母。
输入值不会更改,因为capitalize
仅用于显示,但在javascript代码中没有对此函数的调用。
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- 如何将字符串值从php页面发送到java脚本页面
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 对id以某个字符串开头的元素进行计数
- Javascript逻辑运算符和字符串/数字
- 反向字符串比较
- 如何有效地将游戏数据存储在URL查询字符串中
- 可变大小的JavaScript字符串如何成为基元类型
- 将DOM节点值与字符串Javascript进行比较
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 本地存储中的字符串到字节数组转换
- JavaScript按钮/输入/函数,字符串反转
- 从查询字符串参数推断出正确的数据类型
- 高亮显示与数组字符串一起使用时文本插件中断
- 需要解释这个Javascript字符串资本主义原型