如果第一个字符与给定字符值匹配,如何获取字符串?

时间:2017-06-21 10:21:02

标签: javascript jquery

我已经尝试过匹配最后一个字符

这里我传递的是One字符,如A或B,它返回字符串结尾并传递字符

var name = $(this).find('.name').text();
return name.match( /A$/i );

4 个答案:

答案 0 :(得分:0)

我不是100%确定我理解正确的问题购买我想你正在努力实现以下目标:

'monkey cow lion'.match(/^m.*$/)
Array[ "monkey cow lion" ]

如果匹配,将为您提供整个字符串。

如果你只是在寻找这个词,我想你可以选择:

'monkey cow lion'.match(/^m\w+/)
Array [ "monkey" ]

答案 1 :(得分:0)

您想测试字符串是否以特定字母开头

您可以执行以下操作:

name.charAt(0) === 'A' ? name : null; 

答案 2 :(得分:0)

您也可以使用/g代替/i

我猜你正在寻找的是:http://regexr.com/3g74s

所以在你的JS中它看起来像这样:text.match(/\b[Aa]\w*\b/g);其中[Aa]是你正在寻找的字母。

或者在测试匹配之前,您可以将字符串小写或大写以进行测试。

如果您想强制字符串长度超过1个字符,则可以添加{1,},如下例所示:http://regexr.com/3g74v

答案 3 :(得分:0)

最简单的方法是使用Javascript native(ECMAScript 6) startsWith() 函数。 它接受两个参数:

string.startsWith(searchvalue, start)
  1. 首先是您要搜索的字符串。
  2. 第二个一个是可选的,表示开始搜索的位置。
  3. 所以这必须工作(.toupperCase用于使其不区分大小写):

    return (name.toUpperCase().startsWith("A".toUpperCase())) ? name : null;
    

    如果您需要区分大小写,请将其删除:

    return (name.startsWith("A")) ? name : null;