嗨,在我的项目中,我正在制作一个土耳其字母校验脚本。如果用户输入的密钥不是土耳其字母,请发出警告。
这是我的jquery代码
$( "#singup_surname" ).keyup(function() {
var singup_surname = $( "#singup_surname" ).val().trim();
var request = $.ajax({
url: "check.php",
type: "POST",
encoding:"UTF-8",
data: { singup_surname_only:singup_surname},
dataType: "html"
});
request.done(function( msg ) {
msg=msg.trim();
if(msg=="ok"){
$('#singup_surname').removeClass('wrongField');
$('#singup_surname').addClass('trueField');
}else if(msg=="no"){
$('#singup_surname').removeClass('trueField')
$('#singup_surname').addClass('wrongField')
}else {
alert("database connection error");
}
});
});例如,如果用户输入"ş“信件,就像这样发送
singup_surname_only=%C5%9F 在php端,这是我的代码
$singup_surname_only=$_POST['singup_surname_only'];
if (isset($singup_surname_only)) {
$singup_surname_only=urldecode($singup_surname_only);
$tk = array('A','B','C','Ç','D','E','F','G','Ğ','H','I','İ','J','K','L','M','N','O','Ö','P','R','S','Ş','T','U','Ü','V','Y','Z','a', 'b', 'c','ç', 'd', 'e', 'f', 'g','ğ', 'h', 'i','ı', 'j', 'k', 'l', 'm',
'n', 'o','ö', 'p', 'r', 's','ş','t','u','ü', 'v','y','z' ) ;
$tk=array("%C5%9F","ö");
$arr1 = str_split($singup_surname_only);
$letterCount = count($arr1);
$i=1;
while ($i<=$letterCount) {
if (in_array($arr1["$i"], $tk)) {
}else echo 'no';
$i++;
}
}我所看到的是,在我的数组'ş‘字母中的php侧,变成了类似于’on‘的东西。
如何解决这个问题非常感谢
发布于 2014-06-18 03:48:40
这就是如何检查字符串$str中是否只有土耳其字符
$tkReg = sprintf('~^[%s]*$~u', join('', $tk));
$thereAreOnlyTurkishCharacters = preg_match($tkReg, $str) === 1;
var_dump($thereAreOnlyTurkishCharacters);https://stackoverflow.com/questions/24276623
复制相似问题