Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用css/js将第二个单词修剪为第一个字母_Jquery_Html_Css - Fatal编程技术网

Jquery 使用css/js将第二个单词修剪为第一个字母

Jquery 使用css/js将第二个单词修剪为第一个字母,jquery,html,css,Jquery,Html,Css,我有下面的div。其中的文本将是动态的 <div class="full_name">Libin Babu</div> Libin Babu 我希望结果是Libin B. 也就是说,我想把第二个名字改成第一个字母,后面跟着一个“点”。 有关于CSS或jQuery的帮助吗??我更喜欢css解决方案 谢谢。您可以使用replace/regex: "Libin Babu".replace(/^(\S+)\s+(\S).*/, '$1 $2.') // "Libin B."

我有下面的div。其中的文本将是动态的

<div class="full_name">Libin Babu</div>
Libin Babu
我希望结果是
Libin B.

也就是说,我想把第二个名字改成第一个字母,后面跟着一个“点”。 有关于CSS或jQuery的帮助吗??我更喜欢css解决方案


谢谢。

您可以使用replace/regex:

"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
但是,您需要验证第二个字符串长度是否大于等于1。

您可以使用java脚本子字符串。例子。
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');" />
脚本(将其放在标题部分) ----------------------------- 函数拆分字(字){ var your_str=单词; var str1=您的字符串substr(0,您的字符串indexOf(“”)); var str2=你的子字符串(你的字符串索引(“”)+1); var str2=str2.substr(0,1); 警报(str1+“”+str2+); } HTML(将其放在正文部分) -------------------------------- 利宾巴布
是否要将
Libin Babu
文本替换为
Libin B.
中的
?@是的。确切地这正是我想要的。太好了!这很有效。等待是否有人提出CSS解决方案。:)我想我对正则表达式很满意!!!=)你真了不起@kamituel。非常感谢。@Libin-没问题:)不过,你让我想到了用CSS做这件事。不知道是否有人会想出这样的主意。一点帮助。如何在第二个单词后修剪其他单词?如果div包含
Libin Babu word
,则结果也将附加第三个单词。但是我希望结果一直到第二个单词的第一个字母。@Libin-只需将最后一个
\S*
替换为
*
-请参阅更新的答案
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');" />