2011-12-13 102 views

回答

4
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。

+0

谢谢,但这两个值可能会或可能不会在同一时间。三种情况,%或者*,或者两种情况 – Nomad

+0

不存在三种情况。你的问题说“如果字符串在字符串的开头有%或*,那么显示一个警报” - 这意味着“如果字符串的第一个字符是%或*然后显示警报”。这两个角色是否出现并不重要,因为其中一个或另一个角色会成为第一个角色 - 这就是我的答案测试的结果。 – nnnnnn

3

getElementById(ID).value.charAt(0);

我相信你可以找出其余的。请先做一些研究,因为这样的事情应该很容易通过Google搜索来找到。

+0

+1为唯一真正合理的答案(包括我的)... – nnnnnn

1

您可以使用字符串的indexOf方法。

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

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

1

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

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

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

,或者你可以尝试正则表达式的方法。

1
var str="%*hkfhkasdfjlkjasdfjkdas"; 

if(str.indexOf("%") === 0|| str.indexOf("*") === 0){ 
alert("true"); 
} 
else{ 
alert("false"); 
} 

请在这里检查小提琴。 http://jsfiddle.net/RPxMS/

你也可以使用prototype插件包含方法startWith的JavaScript。

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

检查链接中的细节:click here

相关问题