2011-12-13 140 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

相關問題