我希望我的文本框只接受希腊字母。我使用此代码但不起作用。
JS:
<script language="javascript">
document.logOn.onsubmit = validate;
function validate() {
var name = document.logOn.pw.value;
if(!name = " [A-ZA-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]") {
alert("Δεν επιτρεπονται λατινικη χαρακτηρες!");
return false;
}
return true;
}
<script>
在HTML中我使用onkeypress = validate()
答案 0 :(得分:0)
我不是希腊字母表的专家,但这样的事情似乎有效:
(/^[Α-Ωα-ωίϊΐόάέύϋΰήώ]+$/).test('ιτρε'); // true
(/^[Α-Ωα-ωίϊΐόάέύϋΰήώ]+$/).test('ιτρεkalimera'); // false
所以,在你的条件下:
if ( (/^[Α-Ωα-ωίϊΐόάέύϋΰήώ]+$/).test(name) ) {
// you are speaking Greek to me
}
答案 1 :(得分:0)
您的代码不使用正则表达式。 !name = " [A-ZA-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]"
的意思是name
字面上必须是[A-ZA-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]
。
将其转换为正则表达式if (!name.test(/ [A-ZA-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]+/))
。 .test
返回true / false
您的正则表达式将匹配{space}{any letter fro A to Z or from A to z or form A to Ω or α to ω or any of ίϊΐόάέύϋΰήώ}
答案 2 :(得分:0)
您必须使用string.match(regexp)
进行正则表达式匹配。另外,我认为正则表达式应该是/^[A-ZA-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]+$/
答案 3 :(得分:0)
试试这个。
<script type='text/javascript'>
function validate()
{
var name=document.getElementById('logOn').pw.value;
if(!(new RegExp("[Α-Ωα-ωίϊΐόάέύϋΰήώ]").test(name)))
{
alert("Δεν επιτρεπονται λατινικη χαρακτηρες!");
return false;
}
return true;
}
window.onload = function() { document.getElementById('logOn').onsubmit = validate; };
</script>
如果文本中包含的字母不是RegEx中的字母,则会发出警告。
答案 4 :(得分:0)
我相信问题就在这里
document.logOn.onsubmit = validate;
var name = document.logOn.pw.value;
也许我需要使用别的东西。我想这适用于提交输入。在我的情况下,我有一个纯文本,当我点击进入时出现一个警报,提到我的正确输入。接受任何有用的建议
答案 5 :(得分:0)
现有的主要问题是警报出现但接受的错误条目。 我想我的jacascript是正确的,问题出现在我的HTML代码中。我使用onclick ='return validate()'