Javascript 如何在Jquery中获取特定的字符串内容

Javascript 如何在Jquery中获取特定的字符串内容,javascript,jquery,regex,Javascript,Jquery,Regex,我有许多ID为的select字段,如: "custom_view_custom_conditions_attribute_123_field_id" "custom_view_custom_conditions_attribute_321_field_id" "custom_view_custom_conditions_attribute_142_field_id" 我可以使用以下代码获取id: id = $(selector).attr("id").replace(/[^0-9]/g, ""

我有许多ID为的select字段,如:

"custom_view_custom_conditions_attribute_123_field_id"
"custom_view_custom_conditions_attribute_321_field_id"
"custom_view_custom_conditions_attribute_142_field_id"
我可以使用以下代码获取id:

id = $(selector).attr("id").replace(/[^0-9]/g, "")
但是我想得到这个结果“自定义视图自定义条件属性”


如何在jQuery中实现这一点?

试试这个
regex

/_\d+_\w*/g
1) 以uu
2) 后跟数字(
+
表示一个或多个)
2) 再次\ubr>
4)
\w
后跟字母数字(
*
表示零或多)

试试这个
regex

/_\d+_\w*/g
1) 以uu
2) 后跟数字(
+
表示一个或多个)
2) 再次\ubr> 4)
\w
后跟字母数字(
*
表示零或多)

使用RegExp

_\d.+
像这样

var id = $(selector).attr("id").replace(/_\d.+/g, '');
使用RegExp

_\d.+
像这样

var id = $(selector).attr("id").replace(/_\d.+/g, '');
你可以这样做

id = $(selector).attr("id").replace(/_[0-9]{3}.*/g, "")
它删除3+3个数字+字符串其余部分的任何实例

顺便说一下,
.replace
是纯Javascript,您不需要JQuery

id = $(selector).attr("id").replace(/_[0-9]{3}.*/g, "")
它删除3+3个数字+字符串其余部分的任何实例



顺便说一下,
.replace
是纯Javascript,您不需要JQuery

字段ID
是数字吗?字段ID不是数字。只是一个字符串名称。更大的图片是什么?一旦你有了这个特殊的字符串,你想解决哪个问题呢?
field\u ID
是数字吗?field\u ID不是数字。只是一个字符串名。更大的画面是什么?一旦你有了这个特殊的字符串,你想解决哪个问题?@PraveenJeganathan这里应该用什么我是RegExp新手。实际上你的regex似乎是错的。我想你可以看到你的正则表达式的图示
match
(类似于
string.match()
)返回模式,如果regex返回true,则不替换id,而是返回匹配的模式,其中replace类似于JS中的
string.replace()
。既然你是JS,希望你能理解。@PraveenJeganathan ty让我知道我也更新了答案。很简单:)就是这样,你明白了。@PraveenJeganathan ty非常:)@PraveenJeganathan这里应该用什么我对RegExp是新手。实际上你的regex似乎是错的。我想你可以看到你的正则表达式的图示
match
(类似于
string.match()
)返回模式,如果regex返回true,则不替换id,而是返回匹配的模式,其中replace类似于JS中的
string.replace()
。既然你是JS,希望你能理解。@PraveenJeganathan ty让我知道我也更新了答案。很简单:)就是这样,你明白了。@PraveenJeganathan ty:)非常感谢。但是如果包含许多数字,会发生什么情况?在我的示例中,我只显示3个数字,但它可以是1个数字或10个数字?@user648198简单,删除
{3}
非常感谢。如果您能解释一下您在正则表达式中所做的工作,那将非常好,这样我就可以从中学习:)
[0-9]{3}.*
1)以2)开头,后跟3个数字。3) 后跟null或多个字符。希望您理解。您需要
[0-9]*
<代码>*表示匹配0或更多<代码>[0-9]+将匹配1个或更多。非常感谢。但是如果包含许多数字,会发生什么情况?在我的示例中,我只显示3个数字,但它可以是1个数字或10个数字?@user648198简单,删除
{3}
非常感谢。如果您能解释一下您在正则表达式中所做的工作,那将非常好,这样我就可以从中学习:)
[0-9]{3}.*
1)以2)开头,后跟3个数字。3) 后跟null或多个字符。希望您理解。您需要
[0-9]*
<代码>*表示匹配0或更多<代码>[0-9]+将匹配1个或多个。
\w
包括下划线,即它相当于
[A-Za-z0-9]
,因此您可以简单地使用
\ud+\w*
\w
包括下划线,即它相当于
[A-Za-z0-9]
,因此您可以简单地使用
\ud+\w*