我想检查字符串java脚本中的特定字符出现,
以下是我需要的
it is a object
例如:var text = 'ABC.DEF';
()
字符串我必须提醒it is a function
var text = 'ABC()';
我试过这个
if(text .indexOf('()') === -1)
{
alert("not function");
}
但我如何检查括号是否在最后。
答案 0 :(得分:3)
您使用RegEx:
var one = "ABC.DEF";
var two = "ABC()";
var three = "()blank";
function check(string){
// Matches: ABC.DEF and Does not match: ABC. or .DEF
if(/\w+\.\w+/.test(string))
console.log("it is a function");
// \(\) interpreted as (). Matches : ABC() ; Does not match: ()ABC or ABC()ABC
else if(/\w+\(\)$/.test(string))
console.log("it's an object");
// Not found
else
console.log("something else")
}
check(one); // it is a function
check(two); // it's an object
check(three); // something else
$
检查匹配(()
)是否在该行的末尾
\w+
为count one or more occurrences of "A-Za-z0-9_"
。
答案 1 :(得分:1)
试
var a = "abc()";
if (a[a.length-1] == ')' && a[a.length - 2] == '(') {
alert("function");
}
答案 2 :(得分:1)
String.prototype.endsWith = function(suffix) {
return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
if("ABC()".indexOf("()") > -1) {
alert("it is a function");
}
if("ABC.DEF".indexOf(".") > -1) {
alert("it is an object");
}
if("ABC()".endsWith("()")=== true) {
alert("ends with ()");
}
if("ABC()".endsWith("()whatever")=== true) {
alert("ends with ()");
}
答案 3 :(得分:1)
正则表达式^\w+\.\w+$
将匹配由以下内容组成的字符串:
同样,正则表达式^\w+\(\)$
将匹配由以下内容组成的字符串:
你可以将它包装在这样的函数中:
function check( text_to_match ){
if(text_to_match.match(/^\w+\.\w+/))
console.log("it is an object ");
else if(text_to_match.match(/^\w+\(\)$/))
console.log("it is an function");
}
答案 4 :(得分:0)
indexOf返回另一个字符串中字符串的位置。如果未找到,则返回-1:
var s = "foo";
alert(s.indexOf("oo") != -1);
答案 5 :(得分:0)
试试这个:
if(text.substring(2) == "()")
{
alert("it is function");
}
答案 6 :(得分:0)
String.prototype.slice
允许您使用负数来处理 String 的另一端。
'foobar'.slice(-2); // "ar"
所以
if (text.slice(-2) === '()') {
// last two digits were "()"
}