我有以下 div。其中的文本将是动态的。
<div class="full_name">Libin Babu</div>
我希望结果为Libin B.
那就是我想将第二个名称修剪为其第一个字母,然后是一个“点”。对 CSS 或 jQuery 有任何帮助吗?我更喜欢css解决方案。
谢谢。
您可以使用替换/正则表达式:
"Libin Babu".replace(/^(\S+)\s+(\S).*/, '$1 $2.')
// "Libin B."
要将其替换到位,您可以使用:
$('.full_name').each(function (d, div) {
$(div).text($(div).text().replace(/^(\S+)\s+(\S).*/, '$1 $2.'));
});
正则表达式解释:
/ // Regex start
^ // Beggining of the string
(\S+) // One or more non-whitespace characters in group $1
\s+ // One or more whitespace characters
(\S) // Exactly one non-whitespace character in group $2
.* // Any number of any characters
/ // Regex end
var str = $('#div').text();
var ret = str.split(" ");
your required value = ret[0] + ' ' + ret[1].charAt(0);
但是,您需要验证第二个字符串长度是否 >= 1。
You can use java script substring. example.
Script (place this in header section)
-----------------------------
<script language="javascript">
function splitword(word){
var your_str = word;
var str1 = your_str.substr(0,your_str.indexOf(' '));
var str2 = your_str.substr(your_str.indexOf(' ')+1);
var str2 = str2.substr(0,1);
alert(str1+" "+str2+".");
}
</script>
HTML (place this in body section)
--------------------------------
<div class="full_name">Libin Babu</div>
<input type="button" value="Split" onclick="splitword('Libin Babu');" />