本文目录一览:
1、写一段检验验证码是否正确的程序,用javascript写好还是用PHP写好? 哪一种代码写出来的更保险?
2、PHP与JS之间的区别?
3、js和php的注册和表单验证有什么区别
写一段检验验证码是否正确的程序,用javascript写好还是用PHP写好? 哪一种代码写出来的更保险?
javascript 通常用来进行客户端的简单校验,但 js 代码通常会保存在客户端,一般不会用 js 来写关系到安全的检验。 如果从安全性来说,PHP 是保存在服务器端,客户端只能看到结果,而看不到代码过程。 问题的关键在于,校验的过程代码不会泄漏,对客户端是不透明的(客户端看不到校验过程代码)。
PHP与JS之间的区别?
纠正一楼的回到,js也可以在服务器上运行,node.js 区别主要集中在各自的语法上
- 类型转换的不同 在javascript中 空对象和空数组转换为boolean值为true;但在php中 空对象空数组转换为boolean值为false;(仅在php4中空对象的boolean值为false)包括非0的负数值,都是转换为true;
- 实形参的不同 在js中形参和实参的个数对比起来都没有限制,形参个数可以大于实参,也可以少于实参 而在php中,实参数大于形参不报错,但当实参个数少于形参个数时(并且未指定的形参未定义时就会报错) 代码如下:
function mao(val1,val2,val3){
}
mao(aa,bb);
复制代码 此时由于val3未指定实参,会报错 但当val3初始化一个值时,不报错 代码如下:
function mao(val1,val2,val3="123"){
}
mao(aa,bb);
复制代码
js中可以写一个三元表达式来给未赋值的形参给定一个初始值,不可以和php一样在形参列表里面赋值,本质原因由于php不存在原型连,执行过程中没有变量对象。
3. 数据类型的不同
js中有undefined类型,php中无此类型,因此当一个变量未赋予任何值时,js中此类型为undefined(使用未申明的变量会报错),而在php中则为Null类型;并且js中只有number类型,而在php中无此类型,取代的为int float类型;
4. 字符串的连接
js中使用加号 +
、+=
php中使用点号 .
、.=
5. 控制语句的区别
else if
与elseif
在php中都支持,js只支持前者
6. 大小写问题
js严格区分大小写
php中自定义函数名不区分大小写。命名函数时不可使用已声明的函数,或PHP内建的函数名称。
7. 变量的作用范围
php在函数范围之外所声明的变量就是全局变量。由于函数可以视为单独的程序片段,所以局部变量会复盖全局变量的能见度,因此在函数中无法直接调用使用全局变量。函数中若要使用全局变量时,必须要利用global
关键字定义目标变量,以告诉函数主体此变量为全局。
js由于原型连的关系,可直接调用
8. 静态变量
PHP支持声明函数变量为静态的(static)
js随无静态变量但可以定义函数的属性来冒充静态变量
js和php的注册和表单验证有什么区别
js验证是主要验证规则之类的,比如验证邮箱是否为空,邮箱的格式是否符合正则表达式等,用php验证是主要跟数据库交互的,验证类似是否用户名重名这类的验证。