Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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
javascript检查字符串开头的特殊字符_Javascript_String - Fatal编程技术网

javascript检查字符串开头的特殊字符

javascript检查字符串开头的特殊字符,javascript,string,Javascript,String,我试图从输入字段中获取一个值 我想检查字符串开头是否有%或*,然后显示警报。getElementById(ID).value.charAt(0) 我相信你能解决剩下的问题。请先做一些研究,因为这样的东西通过谷歌搜索应该很容易找到。getElementById(ID).value.charAt(0) if (/^[%*]/.test(document.getElementById("yourelementid").value)) alert("Where can I find a JavaS

我试图从输入字段中获取一个值

我想检查字符串开头是否有%或*,然后显示警报。

getElementById(ID).value.charAt(0)

我相信你能解决剩下的问题。请先做一些研究,因为这样的东西通过谷歌搜索应该很容易找到。

getElementById(ID).value.charAt(0)

if (/^[%*]/.test(document.getElementById("yourelementid").value))
   alert("Where can I find a JavaScript tutorial?");
我相信你能解决剩下的问题。请先做一些研究,因为像这样的东西应该很容易通过谷歌搜索找到

if (/^[%*]/.test(document.getElementById("yourelementid").value))
   alert("Where can I find a JavaScript tutorial?");
作为解释:正则表达式
/^[%*]/
表示:

^       match the beginning of the string, followed immediately by
[%*]    any one of the characters inside the brackets
根据该正则表达式测试输入的值将返回true或false

作为解释:正则表达式
/^[%*]/
表示:

^       match the beginning of the string, followed immediately by
[%*]    any one of the characters inside the brackets

根据该正则表达式测试输入的值将返回true或false。

您可以使用字符串的
indexOf
方法来实现这一点

var s = "%kdjfkjdf";
if (s.indexOf("%") == 0 || s.indexOf("*") == 0)
{
   // do something
}

您也可以使用正则表达式,正如@nnnnnn的回答中指出的那样。

您可以使用字符串的
indexOf
方法来实现这一点

var s = "%kdjfkjdf";
if (s.indexOf("%") == 0 || s.indexOf("*") == 0)
{
   // do something
}
您也可以使用正则表达式,正如@nnnnnn的答案所指出的。

请参阅下面的链接

请参阅下面的链接


您可以使用子字符串方法,例如:

data.substring(0, 1) === '%'

if(data.substring(0, 1) === '%' || data.substring(0, 1) === '*')
{ 
   alert("Not allowed"); 
}

或者您可以尝试使用regex方法。

您可以使用substring方法,例如:

data.substring(0, 1) === '%'

if(data.substring(0, 1) === '%' || data.substring(0, 1) === '*')
{ 
   alert("Not allowed"); 
}
var str="%*hkfhkasdfjlkjasdfjkdas";

if(str.indexOf("%") === 0|| str.indexOf("*") === 0){
alert("true");
}
else{
alert("false");
}
或者你可以试试正则表达式

var str="%*hkfhkasdfjlkjasdfjkdas";

if(str.indexOf("%") === 0|| str.indexOf("*") === 0){
alert("true");
}
else{
alert("false");
}
请检查这里的小提琴。

您还可以使用javascript的
prototype
插件,该插件包含方法
startWith

if(str.startWith("%"))
{
// do
}
查看链接中的详细信息:

请检查这里的小提琴。

您还可以使用javascript的
prototype
插件,该插件包含方法
startWith

if(str.startWith("%"))
{
// do
}

查看链接中的详细信息:

谢谢,但这两个值可能会同时出现,也可能不会同时出现。三个案例,或者%,或者*或者两者。这里没有三个案例。您的问题是“如果字符串开头有%或*则显示警报”-这意味着“如果字符串的第一个字符是%或*则显示警报”。这两个字符是否都出现并不重要,因为仍然有一个或另一个将是第一个字符-这就是我的答案测试的目的。谢谢,但两个值可能同时出现,也可能不同时出现。三个案例,或者%,或者*或者两者。这里没有三个案例。您的问题是“如果字符串开头有%或*则显示警报”-这意味着“如果字符串的第一个字符是%或*则显示警报”。这两个字符是否都出现并不重要,因为仍然有一个或另一个字符将是第一个字符-这就是我的答案测试的目的。向上投票,这是一个有效的问题。向上投票,这是一个有效的问题。